2017-12-16 8 views
0

ネストされたサブ文書の値でフィルタリングする方法を教えてください。 オーナーIDで再生リストをフィルタリングする必要があります。ネストされたサブ文書の値でフィルタリングする

var playlistSchema = new Schema(); 
playlistSchema.add({ 
    name: String, 
    owner: { 
     id: String, 
     email: String, 
     name: String 
    } 
}); 
+0

オーナーIDの順序は? – Santhoshkumar

答えて

0

あなたが昇順と降順でフィルタのソート()メソッドを使用することができます。

昇順に従う方法を使用してください。

playlist.find().sort('owner.id': 1); 

降順を使用してください。

playlist.find().sort('owner.id': -1); 
0

次の書類を持っているコレクションの販売を想定します

db.sales.aggregate([ 
    { 
     $project: { 
     items: { 
      $filter: { 
       input: "$items", 
       as: "item", 
       cond: { $gte: [ "$$item.price", 100 ] } 
      } 
     } 
     } 
    } 
]) 

{ 
    _id: 0, 
    items: [ 
    { item_id: 43, quantity: 2, price: 10 }, 
    { item_id: 2, quantity: 1, price: 240 } 
    ] 
} 
{ 
    _id: 1, 
    items: [ 
    { item_id: 23, quantity: 3, price: 110 }, 
    { item_id: 103, quantity: 4, price: 5 }, 
    { item_id: 38, quantity: 1, price: 300 } 
    ] 
} 
{ 
    _id: 2, 
    items: [ 
     { item_id: 4, quantity: 1, price: 23 } 
    ] 
} 

次の例では、100以上の価格を持っている文書が含まれるだけに項目の配列をフィルタリング

関連する問題