データベースへの接続を作成したときにwriteConcern 1(デフォルト)があるため、書き込み関数にコールバックを提供する必要があります。コードは次のようになります。
db.createCollection("category",function(errDb,collection){
collection.findOne({name:"test"},function(err,value){
if(value == null)
{
collection.insert({name:"test"}, function(err, docs){
if (err) //do anything you want to do when there is an error
// Here you write code for what you would do when the documents were sucessfully inserted into the collection
});
}
})
})
ただし、書き込み懸念をアクティブにしたくない場合は、接続を作成するときに行った機能を使用して挿入するだけで、このように接続する必要があります。
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect("mongodb://localhost:27017/integration_test_?", {
db: {
w : o
}
}, function(err, db) {
test.equal(null, err);
test.ok(db != null);
// Do anything like you were doing here
}
ここでは、writeConcern を 0 に設定します。これにより、mongo.db が挿入または更新の成功を確認できなくなります。だから今、あなたはただ使うことができますcollection.insert({name:"test"});
w:0 での使用には注意が必要です。書き込みの失敗により一部のデータが失われる可能性があるため、挿入または更新について確認したいデータには使用したくないためです。