如何在Java中使用ObjectID更新MongoDB中的文档

亚力山大

我要在这里完成的工作非常简单。我正在尝试更新MongoDB集合中的单个文档。当我使用任何字段(例如“名称”)查找文档时,更新查询成功。这是查询:

mongoDB.getCollection("restaurants").updateOne(
    new BasicDBObject("name", "Morris Park Bake Shop"),
    new BasicDBObject("$set", new BasicDBObject("zipcode", "10462"))
);

如果我尝试使用ObjectId查找文档,则该文档将不起作用,因为它与任何文档都不匹配。

mongoDB.getCollection("restaurants").updateOne(
    new BasicDBObject("_id", "56110fe1f882142d842b2a63"),
    new BasicDBObject("$set", new BasicDBObject("zipcode", "10462"))
);

是否可以使该查询与对象ID一起使用?

我同意我的问题有点类似于如何在Java mongodb驱动程序中使用“ _id”字段查询文档?但是,尝试更新文档时我没有任何错误。它根本不符合任何条件。

谢拉克

您当前正在尝试基于字符串而不是ObjectId进行更新。

在构建查询时,请确保从字符串初始化一个新的ObjectId:

mongoDB.getCollection("restaurants").updateOne(
    new BasicDBObject("_id", new ObjectId("56110fe1f882142d842b2a63")),
    new BasicDBObject("$set", new BasicDBObject("zipcode", "10462"))
);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在mongodb中使用ObjectId更新对象数组中的字符串数组?

如何使用Java在mongodb中仅获取文档的objectId

如何在MongoDB中使用多个条件更新多个文档?

如何在 MongoDB 中查询文档的 id,然后在使用 java 的新查询中使用该 id

如何在MongoDB中返回没有objectId的集合的文档?

如何在C#中使用ObjectId中的时间戳过滤文档?

如何在Java中创建mongoDB objectid

如何在mongodb中使用$ in聚合文档?

如何在mongodb中更新子文档

如何使用Spring Data Java在MongoDB中更新嵌套文档

如何使用Java在MongoDB中执行文档的批量更新

如何在yii2中的where条件中使用mongodb ObjectId值

使用Java更新MongoDB中的文档

如何使用 Mongoose 更新 MongoDB 中的文档

如何在MongoDB中使用一个查询更新许多文档

如何在mongoDb中使用更新查询?

如何使用MongoDB(Mongoose)在集合中添加/更新ObjectId数组?

Java中使用findOneAndUpdate方法更新MongoDB文档的数组元素

如何在Java mongodb驱动程序中使用“ _id”字段查询文档?

如何在 Python 中使用自定义对象 ID 在 MongoDB 中插入文档

如何在$ project中的$ toString中使用MongoDB上的子文档字段?

如何在mongodb中使用$ nin运算符从集合中获取文档

如何在mongoDB中的多对多关系中使用嵌入式文档结构?

如何在MongoDB中的dhe文档中使用其他数组的计数找到不同的值

如何在 mongodb 中使用 $lookup 查询子文档?

如何在 Robo3T 中的文档中使用数组更新字符串?

在MySQL中使用MongoDB中的ObjectId

如何在mongoDB中撤消对文档的修改/更新?

如何在MongoDB中更新子文档字段值?