在 Mongo Compass 上按 ObjectId 搜索

Searching by ObjectId on Mongo Compass

如何使用 Mongo Compass 并通过 ObjectID 进行搜索?我一直在为此搜索文档,但没有成功。我试过:

{ "_id" : "58f8085dc1840e050034d98f" }

{ "$oid" : "58f8085dc1840e050034d98f" }

{ "id" : "58f8085dc1840e050034d98f" }

None 似乎有效,但令人沮丧。另外,旁注 - 在 Compass 中显示文档时是否可以设置 skip/limit?

提前致谢!

更新 较新版本的 Compass 现在支持查询 ObjectId,类似于通过 mongo shell($oid语法将适用于这些较新的版本):

{_id: ObjectId('58f8085dc1840e050034d98f')}

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

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

还值得指出的是,在 UI 中,您可以单击其中一个 _id,它会根据您单击的内容自动将查询填充到查询框中。您还可以在多个字段上按住 Shift 键并单击以创建复合(和编辑)查询条件,或者您可以单击并拖动到 select 一个范围。

跳过和限制支持 >= 1 的版本。8.x 在“文档”选项卡下浏览时是否支持跳过和限制。单击查询栏右侧的 "Options" 按钮。有关说明和详细信息,请参阅 Query Bar 文档。

“架构”选项卡仅支持限制,因为这将对文档进行抽样,而跳过在该上下文中没有实际意义。

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

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

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

{module_id: ObjectId('5cee65f283774d3470fc01cc')}

搜索结果: