将查询转换为节点。在哪个版本中,arrayfilter可以在mongoose中运行,或者如何在节点应用程序中运行它们
db.getCollection('student').update(
{
"_id": ObjectId('5a377d62d21a3025a3c3aa49')
},
{
$set: {
"examples.$[i].isDeleted": true,
"examples.$[i].updatedAt": new Date(),
"updatedAt": new Date()
}
},
{
arrayFilters: [
{
"i._id": {
$in:[
ObjectId("5a377d62d21a3025a3c3aa4d"),
ObjectId("5a377d62d21a3025a3c3aa4c")
]
}
}
],
multi: true
}
)
https://docs.mongodb.com/manual/reference/operator/update/positional-filtered/
答案 0 :(得分:0)
根据发布 MongoDB 3.6备注 https://docs.mongodb.com/manual/release-notes/3.6/
(@ Compatible Drivers)访问mongodb 3.6功能需要使用节点驱动程序3.x.
似乎驱动程序处于RC状态(截至目前为止这个答案)。 https://github.com/mongodb/node-mongodb-native/releases
因此,猫鼬可能还在等待开始使用它。 https://github.com/Automattic/mongoose/blob/master/package.json
所以你必须等到这些事情被安排好,或者当然你可以尝试用自己的方式连接起来,直到完成正式的改编。
- 更新 -
现在工作正常。