我要在这里完成的工作非常简单。我正在尝试更新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] 删除。
我来说两句