mongoose

时间:2017-12-19 06:40:59

标签: node.js mongodb mongoose array-filter

将查询转换为节点。在哪个版本中,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/

1 个答案:

答案 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

所以你必须等到这些事情被安排好,或者当然你可以尝试用自己的方式连接起来,直到完成正式的改编。

- 更新 -

现在工作正常。