通过Node.js将文档插入MongoDB时出错

时间:2013-01-18 21:20:48

标签: javascript node.js mongodb

我正在尝试在Node.js中将文档插入MongoDB。我已成功读取数据库,并通过命令行界面添加了文档。但是,我无法从JavaScript插入文档。如果我这样做,我会收到错误:

  

错误:如果没有提供的回调,则无法使用writeConcern

这是我的代码:

var mongodb = require("mongodb");
var MongoClient = mongodb.MongoClient;

MongoClient.connect("mongodb://localhost:27017/test", function(err, db) {
        if (!err) {
            db.collection("test").insert({ str: "foobar" });
        }
    });

我不能为我的生活弄清楚为什么我会收到这个错误。

我做错了什么,我应该怎么做呢?

1 个答案:

答案 0 :(得分:43)

您需要为insert调用提供回调函数,以便该方法可以将插入期间发生的任何错误传达给您。

db.collection("test").insert({ str: "foobar" }, function (err, inserted) {
    // check err...
});

或者,如果您真的不关心插入是否成功,请在options参数中传递写入关注值0:

db.collection("test").insert({ str: "foobar" }, { w: 0 });