mongoDB 2.6中的ObjectId不起作用

时间:2014-09-26 04:21:32

标签: java mongodb spring-data-mongodb

我在我的应用程序中使用spring数据mongodb。它使用mongodb 2.6。我想通过插入期间mongo分配的id来查询集合的文档。我正在做这样的事情:

Query query = new Query();
String id = "542385a91f00bf7dbeae1fc7";
query.addCriteria(Criteria.where("_id").new Object(id));
template.find(query, entity.class);

此查询转换为:

{ "_id" : { "$oid" : "542385a91f00bf7dbeae1fc7"}}

当我在mongo shell上执行相同操作时,它会出错:

  

错误:{       “$ err”:“无法规范查询:BadValue未知运算符:$ oid”,       “代码”:17287   }

如何使用spring数据mongodb查询id?

1 个答案:

答案 0 :(得分:0)

应该阅读

new ObjectId(id)

而不是new Object(id)。请see the API docs for details