无法通过包含字符串objectId值的条件查找文档

时间:2016-09-13 05:25:37

标签: mongodb objectid

我有一个收藏清单:

{username: 'somename',
friendId: '57d725d6b8b144044602bf74' <-- This a reference objectId to another doc
}

当我使用条件{friendId:&#39; 57d725d6b8b144044602bf74&#39;}查询我的收藏集中的文档时,我得不到任何结果。 任何其他字段查询都可以正常工作。

我试图将值转换为ObjectId('57d725d6b8b144044602bf74'),即使该值只是一个字符串,仍然没有去。

为什么我没有通过那种类型的字符串搜索?

1 个答案:

答案 0 :(得分:0)

您正在尝试在mongoDB中实现“自我加入”,而您似乎依赖于mongodb生成的_id字段。

我建议你为文档提供自定义_ID字段。

例如:

{_id:"alex", name:"alex", friendID:""}
{_id"john", name"john", friendID:"alex"}

然后您可以在friendID字段上轻松执行查询。试一试,看看这是否符合您的要求。