5

我正在学习 node.js 和 mongodb。我在我的应用程序中使用 mongoskin 模块,但我似乎无法让“upsert”功能正常工作。

我已经阅读了 github 上的(相当不透明的)mongoskin 指南。这是我到目前为止所尝试的:

// this works.  there's an insert then an update.  The final "x" is "XX".
db.collection("stuff").insert({a:"A"}, {x:"X"});
db.collection("stuff").update({a:"A"}, {x:"XX"});

// this does NOT work.  I thought it would do an upsert, but nothing.
db.collection("stuff").update({b:"B"}, {y:"YY"}, true);

如何创建“如果不存在则更新或插入”功能?

4

1 回答 1

9

我没有尝试过,但根据这里的文档:https ://github.com/guileen/node-mongoskin#inherit-updating和这里:https ://github.com/christkv/node-mongodb-native/ blob/master/docs/insert.md,它看起来像是options第三个参数,它应该是一个对象,如下所示:

db.collection("stuff").update({b:"B"}, {y:"YY"}, {upsert:true});
于 2012-04-28T21:00:55.460 回答