標籤:log data div cmd cal enc mod 斜杠 depend
上節課學習了如何使用Node.js串連資料庫,這節課我們學習如何插入資料。
1、採用node.js串連MongoDB資料成功之後,想在資料庫中寫入資料,卻顯示db.collection不是一個函數。test.js代碼如下:
var express = require("express");var app = express();var MongoClient = require(‘mongodb‘).MongoClient;var assert = require(‘assert‘);//用於調試資訊// Connection URLvar url = ‘mongodb://localhost:27017/stu‘;//串連地址,斜杠"/myproject"表示資料庫,若不存在則自動建立app.get("/",function(req,res){ MongoClient.connect(url, function(err, db) { // Use connect method to connect to the server //回呼函數表示串連成功之後做的事情,db是串連上的資料庫實體。 if(err){ // assert.equal(null, err);將err和null進行比較,如若err==null相等,表示資料庫連接成功。 console.log("資料庫連接失敗"); return; } console.log("Connected successfully to server"); insertDocuments(db,function(result){console.log(result); }); }); res.send("你好啊");});app.listen(3000);var insertDocuments = function(db, callback) { // Get the myTestDataBase collection db.collection(‘myTestDataBase‘).insertOne([ {"hahaha" : 1} ], function(err, result) { console.log("Inserted 3 documents into the collection"); callback(result); db.close(); });}
在cmd中運行命令:node test.js,控制台報錯如下:
2、解決辦法(參考:https://segmentfault.com/q/1010000012306610)
這個錯誤是出在mongodb的庫中,只需要把node_modules中mongodb的版本換為2.3.33vision即可解決;
"dependencies": {"mongodb": "^2.2.33"}
然後:
npm install
3、再次運行node test.js
02_使用Node.js往mongodb插入資料