【发布时间】:2015-09-30 05:38:33
【问题描述】:
我有一个带有 providerData 对象的猫鼬模式:
... , providerData: {}, ...
我想根据providerData对象中的对象ID查询文档。
所以我假设我必须像这样使用点符号:
User.findOne({ providerIDString: providerID }, function(err, user) {...});
在哪里
providerIDString is a string like 'providerData.facebook.id'
providerID is the providerData.facebook id
但是查询一直没有返回任何结果,即使
db.users.find({"providerData.facebook.id":"THEFACEBOOKID"})
在 mongodb shell 中返回正确的文档
我是否正确地认为这是因为 providerData.facebook 和 providerData.facebook.id 未在用户架构中定义?
这是否意味着我必须将它们添加到架构中,还是有办法在不在 mongoose 架构中的嵌套对象上使用点表示法?
【问题讨论】:
-
显示您希望匹配的文档。以及您实际使用的完整查询。这将比您在此处解释的尝试清楚得多。
标签: javascript node.js mongodb mongoose mongodb-query