gpt4 book ai didi

java - 使用 Java 更新 mongodb 中的列表字段

转载 作者:可可西里 更新时间:2023-11-01 10:33:54 25 4
gpt4 key购买 nike

我有一个包含列表作为字段之一的类。如何更新此字段。

找到一个更新字段的例子

BasicDBObject newDocument3 = new BasicDBObject().append("$set", new 
BasicDBObject().append("type", "dedicated server"));

collection.update(new BasicDBObject().append("hosting", "hostA"), newDocument3);

来自链接 -> http://www.mkyong.com/mongodb/java-mongodb-update-document/

这就是我尝试过的

BasicDBObject objectUpdateCommand = new BasicDBObject("$push", new 
BasicDBObject("someList", stringValue));

collection.update(new BasicDBObject().append("id", user.getId()).append("email",
user.getEmail()), objectUpdateCommand);

结果:没有变化。

我错过了什么?

在 shell 上试​​过,它起作用了[我知道它不匹配所有的 id,但它可以用于测试目的]

db.user.update( { Id: 'yourid'}, {$push: { someList: 'appendNewValue'} } )

最佳答案

我已将以下行插入到集合中。

{ "_id" : ObjectId("50bc89ef88555f5ad35da8ba"), "id" : 1, "email" : "test1@test.com", "list" : [ "list1", "list2" ] }
{ "_id" : ObjectId("50bc89f788555f5ad35da8bb"), "id" : 2, "email" : "test2@test.com", "list" : [ "list1", "list2" ] }

然后通过使用以下代码,我可以更新 id=1 的文档。

BasicDBObject cmd = new BasicDBObject().append("$push", new  BasicDBObject("list", "list3"));
coll.update(new BasicDBObject().append("id", 1).append("email","test1@test.com"), cmd);

更新行后的样子:

{ "_id" : ObjectId("50bc89ef88555f5ad35da8ba"), "id" : 2, "email" : "test2@test.com", "list" : [ "list1", "list2" ] }
{ "_id" : ObjectId("50bc89f788555f5ad35da8bb"), "email" : "test1@test.com", "id" : 1, "list" : [ "list1", "list2", "list3" ] }

再次检查您的代码。它应该适用于此代码。

关于java - 使用 Java 更新 mongodb 中的列表字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13679265/

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