当前位置: 首页 > 知识库问答 >
问题:

Java中的mongodb查询id

凤扬
2023-03-14

我在MongoDB集合中有一个Json文档,我希望根据_id查询它。

{
  "_id": {
    "$oid": "102e8484f2caba7e805dc334"
  },
  "customerName": "TESLA",
  "customerInfo": {
    "name": "Elon",
  },
  "createdDate": {
    "$date": "2021-02-19"
  },
  "modifiedDate": {
    "$date": "2021-02-18T15:19:00.586Z"
  },
  "status": "DRAFT",  
}
import static com.mongodb.client.model.Filters.eq;

// above import used below.
MongoCursor<Document> cursor = collection.find(eq(key, value)).iterator();
where 
key="_id.$oid"
value= byID (passed as say "123123121"

eq("_id.$oid", byID)
eq("_id.oid", byID)
eq("_id", byID)
eq("oid", byID)
eq("oid", ObjectId(byID)) - this gives compile errors. 

共有1个答案

司空宣
2023-03-14

在Slack上找到了这个答案(我发现它可以工作--测试良好):如何在Java mongodb驱动程序中使用“_id”字段查询文档?

由@bogolyandras撰写,标题为“给那些正在寻求更最新方法的人,尤其是3.4:”

 类似资料:
  • 问题内容: 我正在尝试从mongoDB获取特定数据。我有5个字段,用户可以根据这些字段进行搜索。这是我的代码: 除电话号码外,所有搜索字段均有效。当我添加到查询电话号码后,什么也没有返回。是我的mongoDB数据库中的一个字段。我该如何解决这个问题? 问题答案: 搜索值类型为(String)的文档。 请尝试这个。 和往常一样,处理异常。

  • 问题内容: 我在集合中将值存储为java.util.Date(),但是当我查询以获取两个特定日期之间的值时,最终得到的值超出了范围。这是我的代码: 插入 查询 当我在和之间查询时(基本上是fromDate = toDate),我得到的日期绝对不可能的对象。我在这里想念什么? 问题答案: 您正在执行的操作是仅在键覆盖中使用丢失运算符进行查询。您想要的是:

  • 本文向大家介绍Java操作mongodb的模糊查询和精确查询,包括了Java操作mongodb的模糊查询和精确查询的使用技巧和注意事项,需要的朋友参考一下 本意是想查查mongo数据库的int类型的like怎么查,但是好像没 解决这个问题。 精确查询;模糊查询;分页查询,每页多少:按某个字段排序(或升或降):查询数量:大于,小于,等于;且,或,某个字段不为空,某个字段不存在,查询在某个范围内,删除

  • 此问题是由打字错误或无法再复制的问题引起的。虽然这里可能有类似的问题,但这一问题的解决方式不太可能对未来的读者有所帮助。 我正在尝试向mongoDB查询“日期”在两个日期之间的文档。示例数据是: 我的Java代码是: 但游标对象没有结果。 查询对象如下所示: 我怀疑问题是DB中的日期表示。对此有什么建议吗?

  • 我使用Nodejs和MongoDB与expressjs和mongoose库,创建一个具有用户、文章和评论模式的博客API。下面是我使用的模式。

  • 问题内容: 我已经流式传输了大约25万条推文并将其保存到MongoDB中,在这里,我正在检索它,如您所见,基于推文中出现的单词或关键字。 我想做的是使用Map- Reduce并基于关键字进行分类,并将其传递给reduce函数以计算每个类别下的tweet数量,有点像您在这里可以看到的。在该示例中,他正在计算页面数,因为它是一个简单的数字。我想做类似的事情: 然后使用reduce函数来获取计数,就像在