2013-09-12 2 views
0

У меня есть массив вложенных объектов в моей схеме MongoDB. Допустим,Как запросить вложенные объекты с несколькими значениями в MongoDB?

var Post = { 
    "title": "Some title", 
    "advertisers" : [ 
     { 
      "category" : "Tech", 
      "name" : "Henry", 
      "city" : "New york", 
      "updated_at" : ISODate("2011-07-26T21:02:19Z"), 
      "created_at" : ISODate("2011-07-26T21:02:19Z") 
     }, 
    ] 
} 

Я хочу найти пост на основе нескольких значений в гнездовой схеме. например

Post.find({ 'advertisers.category' : 'Tech', 'advertisers.city': 'New York' }); 

Он возвращает сообщение, соответствующее одному из вышеуказанных критериев. Но мне нужны сообщения, которые соответствуют обоим.

Как я могу это сделать?

ответ

2

Вы можете использовать оператор $elemMatch, чтобы сделать это:

Post.find({ advertisers: {$elemMatch: {category: 'Tech', city: 'New York' }}}) 
Смежные вопросы