0
从我在文档中看到的我正确地做到这一点,但我不知道它为什么不更新文档。 http://mongodb.github.io/node-mongodb-native/2.2/api/Collection.html#bulkWriteMongoDB批量写入不更新
const updates = [
{
"updateOne": {
"filter": {
"Item": {
"$oid": "59bdbf4f857c5b78b3a4c400"
},
"Path": "ShortDescription"
},
"update": {
"$set": {
"Value": "100 knotzzzz"
}
}
}
}
]
await mongoose.connection.db.collection('productdata').bulkWrite(updates);
我做错了什么?
它没有工作,因为“Item”:{“$ oid”:“59bdbf4f857c5b78b3a4c400”}'实际上并不有效。如您所做的那样,您改为转换为“ObjectId”。请注意,使用['.bulkWrite()'](http://mongoosejs.com/docs/api.html#model_Model.bulkWrite)作为“猫鼬方法”实际上会在您执行以下操作时根据模式进行“自动生成”: 'Item':“59bdbf4f857c5b78b3a4c400”'只要'Item'的实际模式设置为'Item:Schema.Types.ObjectId'。如果它没有设置为正确的类型,那么自动安装失败。 –
另外,您应该**总是**检查方法的结果。它应该显示'nMatched'为0由于不正确的查询值,这应该给你一个非常清晰的提示。 –