我有一个 json 对象如下:
{ "_id" : ObjectId("508806803bb97dc546e6f307"), "user_name" : "user1", "user_id" : 45645645, "likes" : [ { "event_id" : NumberLong("4578541212") },{ "event_id" : NumberLong("4578541213") } ], "dislikes" : [ ] }
我正在尝试通过 java 驱动程序删除 Likes 数组中的特定事件 首先尝试在 shell 中执行此操作:
> db.users.update( {'likes.event_id' : 4578541212}, { '$unset':{'likes.event_id'
:1}})
运气不好...我怎样才能做到这一点?
最佳答案
如果您只想从数组元素中删除 event_id
字段:
db.users.update( {'likes.event_id' : 4578541212}, {'$unset':{'likes.$.event_id' :1}})
使用$pull
删除元素的运算符:
db.users.update({'likes.event_id': 4578541212}, {'$pull':{likes: {event_id: 4578541212}}})
关于java - MongoDB JSON 数组中的 JSON 对象字段删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13056468/