gpt4 book ai didi

java - 删除mongodb java中的子节点

转载 作者:行者123 更新时间:2023-11-30 03:51:48 25 4
gpt4 key购买 nike

我有一个集合,其中包含联系号码的子节点,如下所示。

{"username":"abc",
"email": "xxx@xxx.com",
"contact":[
{"number":"4763485364","type":"mobile"},
{"number":"4535345345","type":"home"}
]}

它是一个重复集,我想知道如何使用 mongodb Java 驱动程序根据类型删除或更改子节点中的特定编号。我能够使用 BasciDBObject 和集合中的 find 方法删除整个元素。但我只想从特定用户的子节点中删除一个数字(“home”类型)。有人可以给我看一下 java 中的示例代码吗?

最佳答案

您可以使用 $pull 从数组中删除项目。

collection.update(new BasicDBObject("username","abc"), new BasicDBObject("$pull", new BasicDBObject("comments", new BasicDBObject("type","home"))));

此代码将从与条件 type = "home" 匹配的 comments 数组中、从与条件 匹配的集合中的项目中提取元素用户名=“abc”

希望这有帮助。

关于java - 删除mongodb java中的子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24240743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com