我需要$addToSet
在一个嵌套数组上执行一个,这里是一个例子:
{
_id: 123,
posts:[
{
_id: 234,
userid: 123 //its same id like the documents id,
likesUser: []
}
]
}
我的API需要2个参数:
我要添加的文档ID和女巫帖子中的Post ID。
喜欢该帖子的用户的ID。
如果用户喜欢帖子,则其用户ID应该存储在中likesUser
。
假设用户喜欢一个帖子。该文档具有id 123
,首先我要搜索具有该ID的文档。之后,我想用id搜索帖子234
。现在我想将喜欢该帖子的用户的ID存储在中likesUser
,在这种情况下,用户具有ID5d345
{
_id: 123,
posts:[
{
_id: 234,
userid: 123 //its same id like the documents id,
likesUser: ["5d345"]
}
]
}
我该如何存档?我已经尝试过了,$elemMatch
但是它不起作用,它使我出错。
我发现了结果:
let result = await Post.findOneAndUpdate(
{
_id: mongoose.Types.ObjectId(userId),
"posts._id": mongoose.Types.ObjectId(postId)
},
{
$addToSet: {
"posts.$.likesUser": USER
}
}
);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句