有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JSON对象字段中的java MongoDB JSON数组删除

我有一个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}})

没有运气。。。我怎样才能做到这一点


共 (1) 个答案

  1. # 1 楼答案

    如果只想从数组元素中删除event_id字段:

    db.users.update( {'likes.event_id' : 4578541212}, {'$unset':{'likes.$.event_id' :1}})
    

    使用^{}运算符删除元素:

    db.users.update({'likes.event_id': 4578541212}, {'$pull':{likes: {event_id: 4578541212}}})