gpt4 book ai didi

Java Mongodb 更新数据库对象

转载 作者:行者123 更新时间:2023-12-02 04:33:20 24 4
gpt4 key购买 nike

我使用存储在一个集合中的上传数据。该数据包含有关上传日期的信息作为整数值,因此我想在集合中创建一个对象来保存上传数据的所有日期。当然,每次上传时都必须更新此对象,以防数据是在新的一天记录的。如果当天已有可用数据,则不必更新该对象。该对象构建如下:

{
"Content" : "UploadDates",
"value" : [123,456]
}

并且值 JSONArray 应更新。有没有比获取 while 对象、将日期数组与新日期合并并再次插入整个对象更优雅的方法?

编辑:我在 Java/Spring 2.1.4 版本和 mongodb 驱动程序 3.8.2 中实现

最佳答案

您可以使用 $push 更新操作将新值推送到数组中。

例如在 mongo shell 中:

> db.test.find()
{
"_id": 0,
"value": [
123,
456
]
}

使用$push更新文档:

> db.test.update({_id: 0}, {$push: {value: 789}})
WriteResult({
"nMatched": 1,
"nUpserted": 0,
"nModified": 1
})

新值被添加到数组的尾部:

> db.test.find()
{
"_id": 0,
"value": [
123,
456,
789
]
}

如果数组字段不存在,$push 将创建该字段。

关于Java Mongodb 更新数据库对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56564661/

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