15

我正在尝试在 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" });
        }
    });

我一生都无法弄清楚为什么会出现此错误。

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

4

1 回答 1

43

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

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

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

db.collection("test").insert({ str: "foobar" }, { w: 0 });
于 2013-01-19T01:05:55.227 回答