我有拉好友请求,当它被接受或取消。因此,当我尝试从数组中拉出它时,它不起作用。
它与1文档匹配,但文档已修改。
当我从用户字段中删除requested_at
字段时,它工作得很好。
我在哪里犯了错?
MongoDB Document
{
"_id" : ObjectId("5cb18680aa024b2d441f93cc"),
"friends" : [],
"friend_requests" : [
{
"user" : {
"id" : ObjectId("5cb14fd7db537905c89e0a72"),
"requested_at" : ISODate("2019-04-14T17:51:00.588Z")
}
}
]
}
MongoDB查询
db.getCollection('users').updateOne(
{ _id: ObjectId("5cb18680aa024b2d441f93cc") },
{
$pull: {
friend_requests: {
user: {
id: ObjectId("5cb14fd7db537905c89e0a72")
}
}
}
});
结果
{
"acknowledged" : true,
"matchedCount" : 1.0,
"modifiedCount" : 0.0
}
发布于 2019-04-15 02:21:21
使用点表示法指定条件:
db.users.updateOne(
{ _id: ObjectId("5cb18680aa024b2d441f93cc") },
{
$pull: {
"friend_requests": {
"user.id": ObjectId("5cb14fd7db537905c89e0a72")
}
}
});
https://stackoverflow.com/questions/55678528
复制相似问题