gpt4 book ai didi

java - 在现有 Mongo 文档中添加更多字段

转载 作者:行者123 更新时间:2023-11-29 03:32:09 25 4
gpt4 key购买 nike

我正在尝试在现有的 Mongo 文档中添加新字段。

{
"_id" : ObjectId("51e390ade4b0a29154453698"),
"group_name" : "om",
"target_audience" : {
"gender" : "male",
"section" : "Item 4",
"catagory" : "Eletronics",
"location" : {
"country" : "Item 3",
"state" : "Item 3",
"city" : "Item 4"
}
}
}

这是我的文档。我想在此文档中添加更多字段。我编写了以下代码。但不是在同一文档中添加记录,而是替换之前的记录。我的 Java 代码是:

BasicDBObject doc=new BasicDBObject();
BasicDBObject q=new BasicDBObject("group_name",selectedgn);
doc.put("date_from",frm);
doc.put("date_too",too);
doc.put("description",desc);
doc.put("url",url);
BasicDBObject doc1=new BasicDBObject();
doc1.put("Notification",doc);
con.coll.update(q,doc1);

最佳答案

正如其他人所说,使用 $set 运算符。您的代码应如下所示(我只更改了最后一行):

BasicDBObject doc=new BasicDBObject();
BasicDBObject q=new BasicDBObject("group_name",selectedgn);
doc.put("date_from",frm);
doc.put("date_too",too);
doc.put("description",desc);
doc.put("url",url);
BasicDBObject doc1=new BasicDBObject();
doc1.put("Notification",doc);
con.coll.update(q,new BasicDBObject("$set",doc1));

或者,如果您只想更新通知子文档中的字段:

BasicDBObject doc=new BasicDBObject();
BasicDBObject q=new BasicDBObject("group_name",selectedgn);
doc.put("Notification.date_from",frm);
doc.put("Notification.date_too",too);
doc.put("Notification.description",desc);
doc.put("Notification.url",url);
con.coll.update(q,new BasicDBObject("$set",doc));

关于java - 在现有 Mongo 文档中添加更多字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17654849/

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