Find()
コマンドで文書全体を見つけようとしていて、条件付きのネストされた配列をフィルタリングしようとしています。Mongoose:ネストされた配列を見つけてフィルターに掛ける
ここで使用スキーマの作品:
var ListSH = new Schema({
name: { type: String, unique: true, required: true},
subject : String,
recipients : [
Schema({
uid : { type : ObjectId, required : true, ref:'User', unique: true},
status : { type : Number, default : 1 }
},{_id: false})
]
};
現在、私はListModel.findOne({ _id : req.params.id_list, function(err,list){...};
を行うと、ポストマンは私のことを与える:
{
"_id": "57e6bcab6b383120f0395aed",
"name": "Emailing listname",
"subject": "List subject",
"recipients": [
{
"uid": "57e932bcbbf0e9e543def600",
"status": 0
},
{
"uid": "57e93266c3c0b1dc1625986f",
"status": 1
}
]
}
を私はポストマンは私のような何かを返したいのですがそれは、recipients.status : 1
の条件を追加することである。
{
"_id": "57e6bcab6b383120f0395aed",
"name": "Emailing listname",
"subject": "List subject",
"recipients": [
{
"uid": "57e93266c3c0b1dc1625986f",
"status": 1
}
]
}
私はすでに..
誰もが知っているListModel.findOne({ _id : req.params.id_list, 'recipients.status' : 1}, function(err,list){...};
とpopulate([$match('recipients.status : 1)]);
のような奇妙なしかし、誰成功で何かをしようとしましたか?クエリ以下
これは、基準に何人か答えても、1人の$受取人だけを返します。 – Vaiden