[英]How to Update a Document in MongoDB w/Java Driver
我正在尝试使用存储在并行字段contentGroupId中的Mongo ObjectId作为标准来更新文档,但是它不起作用。
当您使用内部ID作为主键时,使用Java驱动程序在Mongo中更新文档的最佳实践是什么?
@Override
public void updateContentGroup( ContentGroup contentGroup ) {
DBCollection contentGroupCollection = db.getCollection( "contentGroups" );
Gson gson = new Gson();
String json = gson.toJson( contentGroup );
DBObject contentGroupDoc = (DBObject) JSON.parse( json );
BasicDBObject criteriaObject = new BasicDBObject();
criteriaObject.append( "_id", "ObjectId(\"520a56b730047339c26ec1fa\")");
contentGroupCollection.update( criteriaObject, contentGroupDoc );
}
提前致谢,
圭多
我认为您的问题在这里:
criteriaObject.append( "_id", "ObjectId(\\"520a56b730047339c26ec1fa\\")");
应该:
criteriaObject.append( "_id", new ObjectId("520a56b730047339c26ec1fa");
这样,字段值将被视为对象ID,而不是字符串(包含文字“ ObjectId”)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.