如何使用“_id"查询文档Java mongodb 驱动程序中的字段? [英] How to query documents using "_id" field in Java mongodb driver?

查看:36
本文介绍了如何使用“_id"查询文档Java mongodb 驱动程序中的字段?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图通过搜索_id"键在 MongoDB 中查找文档.我的文档看起来像这样-

I am trying to find documents in MongoDB by searching on "_id" key. My document looks like this-

{
  "_id" : ObjectId("4f693d40e4b04cde19f17205"),
  "hostname" : "hostnameGoesHere",
  "OSType" : "OSTypeGoesHere"
}

我正在尝试将这个文档搜索为-

I am trying to search this document as-

ObjectId id= new ObjectId("4f693d40e4b04cde19f17205");        
BasicDBObject obj = new BasicDBObject();        
obj.append("_id", id);        
BasicDBObject query = new BasicDBObject();        
query.putAll(query);

但我得到以下错误 -

But I get below error-

error: reference to putAll is ambiguous, both method putAll(Map) in BasicBSONObject and method putAll(BSONObject) in BasicBSONObject match
        query.putAll(query);

BasicDBObject 的 append 方法支持 (String Key, Value),如果我将_id"作为字符串传递给该方法,则不会匹配任何文档.

The append method of BasicDBObject supports (String Key, Value) and if I pass "_id" as String to this method, no documents are matched.

所以我的问题是如何传递_id"?

So my question is how do I pass "_id"?

推荐答案

通过使用 query as- 解决了它-

Solved it by using query as-

query.putAll((BSONObject)query);

这篇关于如何使用“_id"查询文档Java mongodb 驱动程序中的字段?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆