gpt4 book ai didi

java - 如何在 MongoDB Java 驱动程序中将动态字段插入到文档中

转载 作者:行者123 更新时间:2023-12-01 08:58:43 27 4
gpt4 key购买 nike

 {
"_id" : ObjectId("5888ae5f1495062544ac7951"),
"site" : "gfhfh",
"keywords" : {
"keyword 1" : {
"dailyranks" : {
"2017-01-28" : {
"rank" : 1,
}
**Dynamic data should add here by date **
}
}
}
}

我尝试按日期插入关键字排名。我想每天增加关键词排名。但它不仅仅插入更新日期和值。我在java中使用了以下代码。

for (DBObject dbo : result) {
DBObject keywordlist = (DBObject) dbo.get("keywords");
BasicDBObject a = new BasicDBObject();
for (String keyword : keywordlist.keySet()) {
DBObject rank = getRank();
BasicDBObject rankdate = new BasicDBObject(date, rank);
BasicDBObject aa = new BasicDBObject("dailyranks", rankdate);
a.append(keyword, aa);
}
coll.update(dbo, new BasicDBObject("$set", new BasicDBObject("keywords", a)), true, false);
}

最佳答案

看起来您需要一个用于关键字每日排名的嵌入式数组。

"keywords": [{
"keyword 1": {
"dailyranks": [{
"2017-01-28": {
"rank": 1,
}
}]
}
}]

获得此结构后,您将使用 $push 运算符将新的 rank 插入嵌入式文档数组中。

如果您尝试替换整个嵌入数组,则将使用 $set

关于java - 如何在 MongoDB Java 驱动程序中将动态字段插入到文档中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41866974/

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