【发布时间】:2020-06-03 08:49:57
【问题描述】:
这是我的架构
var PositiveSchema = new mongoose.Schema({
schoolID: {
type: mongoose.Schema.Types.ObjectId, ref: 'School'
},
name: String,
restrictAwardTo: Object
})
现在restrictAwardTo 以这种格式保存数据
"restrictAwardTo" : [
{
"_id" : "5c31907d908eb8404657cbf0",
"firstName" : "Admin 2a"
},
{
"_id" : "5c1a7677c98da061141475a8",
"firstName" : "Justice"
},
{
"_id" : "5c1a7677c98da061141475a9",
"firstName" : "Itik"
}
],
如何使用restrictAwardTo 下列出的_id 之一在我的文档中进行搜索?我尝试了下面给出的解决方案
- mongooseJS find docs with IDs in an array
- mongoose query: find an object by id in an array 但它返回空。
- 在 Robo3t
db.getCollection('positives').find({ 'restrictAwardTo._id' : ObjectId('5c31907d908eb8404657cbf0') })
更新:在 Robo3t 中,此查询 db.getCollection('positives').find({ 'restrictAwardTo._id' : {$in: ['5c1a7677c98da061141475a7']} }) 有效。现在我也让它适用于猫鼬。
【问题讨论】:
-
您能否添加完整的示例输入文档和 JSON 格式的预期输出?