【发布时间】:2016-03-31 03:14:17
【问题描述】:
我试图弄清楚我的一个用户是否有任何与代码“2”的目标相关联的数据(这意味着一个错误),所以我搜索了 mongoose
Entry.find({userid: req.user._id, 'goalSummary.2': {$exists: true}})
goalSummary 属性是 mongoose.Schema.Types.Mixed 类型,其键与目标代码相同(作为字符串,如果重要的话)和对象作为值。
我得到了 16 个结果,每个结果都有 goalSummarys 这样的:
goalSummary: {
"1": {
outcomes: 1,
intendedcount: 1,
extrascount: 0,
notdonecount: 0,
enough: "e"
},
"3": {
outcomes: 1,
intendedcount: 1,
extrascount: 0,
notdonecount: 0,
enough: "e"
},
[...]
}
...即没有2 键。为什么这些可以匹配? 2 是否设置为 undefined 但未删除?它成功地没有匹配数百个其他条目。
【问题讨论】:
-
您能否编辑您的问题以提供一个完整、可重现的示例,其中包括您的架构和您的查询意外返回的文档?
标签: node.js mongodb search mongoose mongoose-schema