gpt4 book ai didi

java - MongoDB with Java - 查找文档并嵌套插入更新

转载 作者:行者123 更新时间:2023-12-02 11:45:00 25 4
gpt4 key购买 nike

我有一个这样的文档:

{
timestamp_hour: ISODate("xxx"),
userid: "xxx",
type: "xxx",
balances: {
1: {input: 100, output: 200},
2: {input: 200, output: 300},
500: {input: 5000, output: 5500},
...
}
}

我想将新的数字对:{输入:xxx,输出:yyy}插入到余额中,如果timestamp_houruserid 两者都匹配。 (据我所知,它更像是一个 upsert)

代码会怎样?我使用的是 Java 8 和 org.apache.storm.core 1.1。

最佳答案

这里没有更新插入。只需在找到文档后在余额中添加一个新的嵌入字段即可。

MongoClient mc = new MongoClient();
MongoDatabase db = mc.getDatabase("db");
MongoCollection col = db.getCollection("col");

Bson query = Filters.and(Filters.eq("timestamp_hour", timestampHour), Filters.eq("userid", userId));
Document uDoc = new Document();
uDoc.put("input", xxx);
uDoc.put("output", yyy);

Bson update = Updates.set("balances." + number, uDoc);

col.updateOne(query, update);

关于java - MongoDB with Java - 查找文档并嵌套插入更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48281631/

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