繁体   English   中英

如何使用Java驱动程序在MongoDB中更新文档

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM