02_使用Node.js往mongodb插入數據
阿新 • • 發佈:2017-12-24
數據庫連接 callback 再次 urn function 成功 運行 插入數據 只需要
上節課學習了如何使用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 URL var 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插入數據