我们可以在java中使用_id更新mongodb中的文档吗?

时间:2014-04-17 11:08:42

标签: java mongodb

我正在尝试使用对象ID更新文档但未获得结果。这是我的代码请帮帮我

DBCollection patients= db.getCollection("Patients");
    BasicDBObject doc = new BasicDBObject();
            doc.put("name","seshu");


DBObject update=`new` BasicDBObject().append("_id",ObjectId("534e1c8e40a8af540cd01ff4"));

    patients`enter code here`.update(update, doc);

1 个答案:

答案 0 :(得分:1)

当你说"没有得到结果"时,我认为你的意思是文件没有更新?

您确定您的集合名称,数据库名称和ObjectId是否正确?并且该文档存在于具有该ObjectId的该集合中。你应该通过你的程序或mongo shell仔细检查所有这些。

为什么不尝试在代码中添加一些额外的检查/调试,如下所示:

DBCollection patients = db.getCollection("Patients");
DBObject update = new BasicDBObject().append("_id", new ObjectId("..."));

long collectionCount = patients.count();
System.out.println(String.format("Collection count: %s", collectionCount));
long count = patients.count(update);
System.out.println(String.format("Count for query: %s", count));

BasicDBObject doc = new BasicDBObject();
doc.put("name", "seshu");


WriteResult writeResult = patients.update(update, doc);
System.out.println(String.format("Updated %s records", writeResult.getN()));

DBObject updated = patients.findOne(update);
System.out.println(updated);