MongoDB批量写入不更新

时间:2017-09-17 01:33:58

标签: node.js mongodb mongoose

从我在文档中看到的我正确地做到了这一点,但我不知道它为什么不更新文档。 http://mongodb.github.io/node-mongodb-native/2.2/api/Collection.html#bulkWrite

const updates = [
{
  "updateOne": {
    "filter": {
      "Item": {
        "$oid": "59bdbf4f857c5b78b3a4c400"
      },
      "Path": "ShortDescription"
    },
    "update": {
      "$set": {
        "Value": "100 knotzzzz"
      }
    }
  }
}
]

await mongoose.connection.db.collection('productdata').bulkWrite(updates);

我做错了吗?

1 个答案:

答案 0 :(得分:0)

我使用initializeUnorderedBulkOp方法并且它正常工作,但我仍然想知道为什么批量写入不起作用。这是适合我的代码。

  const bulk = mongoose.connection.db.collection('productdatas').initializeUnorderedBulkOp();

  data.forEach(([Path, Value]) => {
    bulk.find({ Item: new ObjectID(_id), Path }).updateOne({
      $set: {
        Value,
      },
    });
  });

  await bulk.execute();