小编Mil*_*ari的帖子

使用 findOneAndUpdate $pull 并填充不更新或填充

这是我的数据:

{
    "_id" : ObjectId("594e762b03cc52508686ceef"),
    "_members" : [ 
        "59527bd5e521801bf07eab98", 
        "594ecca47a699d1775c2a2db"
    ],
}
Run Code Online (Sandbox Code Playgroud)

我想59527bd5e521801bf07eab98_members.

后架构:

const PostsSchema = new Schema({
    // ...
    _members: [{ type: Schema.Types.ObjectId, ref: 'user' }],
    // ...
})
Run Code Online (Sandbox Code Playgroud)

用户架构:

const UserSchema = new Schema({
    // ...
    posts : [{ type: Schema.Types.ObjectId, ref: 'post' }],
    // ...
})
Run Code Online (Sandbox Code Playgroud)

查找和更新:

let id = mongoose.mongo.ObjectID(req.params.id)
let member = mongoose.mongo.ObjectID(req.params.member)
let populateQuery = [
    {path:'_members', select:'_id'}
]

Post.
findOneAndUpdate(
    {'_id' : id} ,
    {
       $pull: { '_members': …
Run Code Online (Sandbox Code Playgroud)

javascript mongoose mongodb node.js

4
推荐指数
1
解决办法
7314
查看次数

标签 统计

javascript ×1

mongodb ×1

mongoose ×1

node.js ×1