gpt4 book ai didi

java - 当我启动服务器时,Mongo 没有更新不在数据库中的文档

转载 作者:行者123 更新时间:2023-12-01 14:32:45 25 4
gpt4 key购买 nike

我正在 Java 中使用 Mongo 和 Esper。启动 esper 服务器后,我开始添加文档,并且在我的一个监听器中,我必须更新其中一些文档(每次一个)。问题是,Mongo 仅在我启动服务器之前更新这些文档(如果它们位于数据库中),但如果我刚刚插入它们,则不会更新这些文档。

我正在运行此代码:

BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("symbol", newEvents[0].get("symbol"));
searchQuery.append("fecha", newEvents[0].get("fecha"));

BasicDBObject newDocument = new BasicDBObject();
newDocument.append("$set", new BasicDBObject().append("SMA10", ((Double) newEvents[0].get("valor")).toString()));

col.update(searchQuery, newDocument);

有人知道会发生什么吗?如果您需要任何其他信息,请告诉我。

非常感谢。

最佳答案

MongoDB中,update方法可以替换现有文档或更新现有文档中的特定字段。

如果您想要更新数据库中不存在的文档,则必须使用save方法。它执行特殊的更新,称为 upsert 操作,如果文档不存在,它将插入该文档。

检查MongoDB Manual for Update and Save .

关于java - 当我启动服务器时,Mongo 没有更新不在数据库中的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16733743/

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