在Mongo Compass上搜索ObjectId

aam*_*irl 42 mongodb mongodb-query mongodb-compass

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

__CODE__

__CODE__

__CODE__

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

提前致谢!

hel*_*lmy 70

UPDATE罗盘的新版本目前支持查询的ObjectId相似,他们将如何通过蒙戈外壳(的查询$oid语法将不会在这些新版本的工作):

{_id: ObjectId('58f8085dc1840e050034d98f')}
Run Code Online (Sandbox Code Playgroud)

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

{"_id":{"$oid":"58f8085dc1840e050034d98f"}}
Run Code Online (Sandbox Code Playgroud)

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

跳过和限价是版本的支持> = 1.8.x的文档选项卡下浏览时支持跳过和限制.单击查询栏右侧的"选项"按钮.有关说明和详细信息,请参阅查询栏文档.

"架构"选项卡仅支持限制,因为这将对文档进行抽样,并且跳过在该上下文中并不真正有意义.

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


jpo*_*eda 21

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

  • 对于 Windows 10 上的 Compass v1.21.2,此语法 {"_id":ObjectId("5ec95f4bca1dd731c006f44e")} 适用于我 (2认同)