gpt4 book ai didi

java - 将文档插入 MongoDB 中的另一个文档

转载 作者:可可西里 更新时间:2023-11-01 10:42:40 26 4
gpt4 key购买 nike

我正在尝试在另一个文档中添加一个文档。

enter image description here

我正在尝试将一个新文档插入到文档 sensor_collection 中,其中时间戳作为键,light prox 和 temp 作为该文档的内容。

我的代码不起作用是合乎逻辑的,因为我正在设置一个新的 sensor_collection。有谁知道如何在 sensor_collection 中设置时间戳文档,还是建议不要这样做?

这是代码:

MongoCollection<Document> collection  =  db.getCollection(Sensor.KEY_COLLECTION);
//append sensor data to existing document
collection.updateOne(doc, new Document("$set",
new Document("sensor_collection", new Document(
String.valueOf(stamp.getCurrentTime()), new Document(
Sensor.KEY_LIGHT, sensorData.getLight())
.append(Sensor.KEY_PROX, sensorData.getProx())
.append(Sensor.KEY_TEMP, sensorData.getTemp())
))));

目前这段代码覆盖了数据库中已有的时间戳。

最佳答案

如果您想附加到现有的嵌入式集合,请使用 $push 而不是 $set$push 运算符将指定值附加到数组。像这样:

collection.updateOne(doc, new Document("$push",
new Document("sensor_collection", new Document(
String.valueOf(stamp.getCurrentTime()), new Document(
Sensor.KEY_LIGHT, sensorData.getLight())
.append(Sensor.KEY_PROX, sensorData.getProx())
.append(Sensor.KEY_TEMP, sensorData.getTemp())
))));

有关 mongo 更新运算符的更多详细信息,check this out

关于java - 将文档插入 MongoDB 中的另一个文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34372678/

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