Mongodb 嵌套数组中的$addToSet
我需要对嵌套数组执行Mongodb 嵌套数组中的$addToSet,mongodb,Mongodb,我需要对嵌套数组执行$addToSet,下面是一个示例: { _id: 123, posts:[ { _id: 234, userid: 123 //its same id like the documents id, likesUser: [] } ] } 我的API需要2个参数: 文档的ID,以及我要添加的witch Post中的Post ID 喜欢该帖子的用户的ID 如果用户喜欢帖子,则其用户
$addToSet
,下面是一个示例:
{
_id: 123,
posts:[
{
_id: 234,
userid: 123 //its same id like the documents id,
likesUser: []
}
]
}
我的API需要2个参数:
likesUser
中
假设用户喜欢帖子。文档id为123
,首先我要用该id搜索文档。然后我要用id234
搜索帖子。现在我想将喜欢帖子的用户的ID存储在likesUser
中,在这种情况下,用户的ID是5d345
{
_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
}
}
);
我发现了结果:
let result = await Post.findOneAndUpdate(
{
_id: mongoose.Types.ObjectId(userId),
"posts._id": mongoose.Types.ObjectId(postId)
},
{
$addToSet: {
"posts.$.likesUser": USER
}
}
);
$arrayFilter应提供帮助,请参见:@Joe谢谢我将在mongodb游乐场查看并试用$arrayFilter应提供帮助,请参见:@Joe谢谢我将在mongodb游乐场查看并试用