当使用MongoDB时,会产生令人讨厌的消息

我使用这个代码为了使用mongodb:

var mongo = require("mongodb"); var BSON = mongo.BSONPure; var server = new mongo.Server('localhost', 27017, {auto_reconnect: true, safe: true}); var db = new mongo.Db('dbname', server); db.open(function(err, db) { if(!err) { console.log("Connected to 'dbname' database"); db.collection("items", {safe:true}, function(err, collection) { console.log("Open database"); if (err) { console.log("The 'items' collection doesn't exist. Creating it with sample data."); var items = []; for (var i = 0; i < 10; i++) { items.push({ title: "title" + i, site_name: "site_name" + i, url: "url" + i, type: "type" + i, image: "image" + i }); } db.collection("items", function(err, collection) { collection.insert(items, {safe:true}, function(err, result) {}); }); } }); } }); 

当我运行应用程序时,我收到消息:

 ======================================================================================== = Please ensure that you set the default write concern for the database by setting = = one of the options = = = = w: (value of > -1 or the string 'majority'), where < 1 means = = no write acknowlegement = = journal: true/false, wait for flush to journal before acknowlegement = = fsync: true/false, wait for flush to file system before acknowlegement = = = = For backward compatibility safe is still supported and = = allows values of [true | false | {j:true} | {w:n, wtimeout:n} | {fsync:true}] = = the default value is false which means the driver receives does not = = return the information of the success/error of the insert/update/remove = = = = ex: new Db(new Server('localhost', 27017), {safe:false}) = = = = http://www.mongodb.org/display/DOCS/getLastError+Command = = = = The default of no acknowlegement will change in the very near future = = = = This message will disappear when the default safe is set on the driver Db = ======================================================================================== 

这条消息是什么,我该如何解决? 有没有更好的方法来使用mongodb?

MongoDB有助于指导您在其数据库设置中设置默认的写入关注(w)参数。

改变这条线应该可以做到

  var db = new mongo.Db('dbname', server, {w:1}); 

这对开发/黑客来说是很好的,但是在开始生产之前你应该了解这个选项的影响。

MongoDB写关注参考

Db构造函数有三个参数。 “DataBaseName”,ServerObject,{parameters}。

显示的信息是关于写入问题的警告,并说明了您得到的选项。

  var _mongodb = 'MyDataBase'; var db = new mongodb.Db(_mongodb, server, {w:'majority'}); 

参考: http : //mongodb.github.io/node-mongodb-native/api-generated/db.html

 var MongoClient = require('mongodb').MongoClient, Server = require('mongodb').Server; var mongoClient = new MongoClient(new Server('localhost', 27017)); db = mongoClient.db("mydb"); db.open(function(err, db) { if(!err) { console.log("Connected to 'mydb' database"); db.collection('mycollection', {strict:true}, function(err, collection) { if (err) { console.log("error..."); } }); } }); 

参考号: http : //mongodb.github.io/node-mongodb-native/api-generated/mongoclient.html