85

如何使用 Mongo Compass 并通过 ObjectID 进行搜索?我一直在寻找这方面的文档,但没有成功。我努力了:

{ "_id" : "58f8085dc1840e050034d98f" }

{ "$oid" : "58f8085dc1840e050034d98f" }

{ "id" : "58f8085dc1840e050034d98f" }

这些似乎都不起作用,而且越来越令人沮丧。另外,旁注 - 在 Compass 中显示文档时是否可以设置跳过/限制?

提前致谢!

4

4 回答 4

166

更新Compass 的较新版本现在支持查询 ObjectId,类似于通过 mongo shell 查询它们的方式($oid语法在这些较新版本中不起作用)

{_id: ObjectId('58f8085dc1840e050034d98f')}

如果您使用的是 1.10.x 之前的旧版本,请在查询框中输入以下内容:

{"_id":{"$oid":"58f8085dc1840e050034d98f"}}

还值得指出的是,在 UI 中,您可以单击其中一个 _id,它会根据您单击的内容自动填充查询框。您也可以在多个字段上 shift+click 以创建复合(and-ed)查询条件,或者您可以单击并拖动以选择一个范围。

Skip 和 Limit 支持 >= 1.8.x 的版本Documents 选项卡下浏览时支持 skip 和 limit。单击查询栏右侧的“选项”按钮。有关说明和详细信息,请参阅查询栏文档。

Schema 选项卡仅支持限制,因为这将对文档进行采样,并且在该上下文中跳过实际上没有意义。

要单击 _ids,您需要位于Schema选项卡上。如果您的 _id 是 ObjectId 类型,则分布的可视化将显示为日期范围,您可以拖动一行或多行以基于 _id 填充查询。如果您的 _id 是其他类型,它们的某些部分将单独显示,您可以单击、拖动或按住 shift 单击它们。

于 2017-04-20T17:01:54.373 回答
30

当前版本的 MongoDB Compass (1.10.5) 似乎不再支持$oid,但它确实适用于标准查询:{"_id":ObjectId("5a028baa2dc80f2e26a8ed63")}

于 2017-11-08T04:51:56.380 回答
2

{"_id":ObjectId("5f8344e2a00ed7f6172a7184")}

于 2020-10-12T06:28:44.450 回答
1
{module_id: ObjectId('5cee65f283774d3470fc01cc')}

搜索结果: 搜索结果

于 2021-09-20T05:44:56.823 回答