在Mongo Compass上搜索ObjectId

时间:2017-04-20 16:54:18

标签: mongodb mongodb-query

如何使用Mongo Compass并按ObjectID搜索?我一直在寻找这方面的文件但是没有成功。我试过了:

{ "_id" : "58f8085dc1840e050034d98f" }

{ "$oid" : "58f8085dc1840e050034d98f" }

{ "id" : "58f8085dc1840e050034d98f" }

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

提前致谢!

3 个答案:

答案 0 :(得分:55)

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

{_id: ObjectId('58f8085dc1840e050034d98f')}

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

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

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

跳过和限制是对版本的支持> = 1.8.x 支持支持在“文档”标签下浏览时跳过和限制。点击"选项"查询栏右侧的按钮。有关插图和详细信息,请参阅Query Bar文档。

“架构”选项卡仅支持限制,因为这将对文档进行抽样,并且在该上下文中跳过并不合理。

要点击_ids,您需要在Schema标签上。如果_ids的类型为ObjectId,则分布的可视化将显示为日期范围,您可以拖动一行或多行以基于_id填充查询。如果你的_ids是其他类型的,那么它们中的某些部分会单独显示,你可以点击,拖动或按住它们点击它们。

答案 1 :(得分:21)

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

答案 2 :(得分:0)

{“ _ id”:ObjectId(“ 5f8344e2a00ed7f6172a7184”)}