2015-10-16 1 views
0

Я 4 объектов содержат дни недели, как:Как запросить данные, если она содержит по крайней мере одно условие [MongoDB]

Obj_1: ['fri','sat','sun'], 
Obj_2: ['mon','tue','sun'], 
Obj_3: ['wed','sun'], 
Obj_4: ['web','sat'] 

Когда я запрашиваю с keyword = 'wed', я получил Obj_3 and Obj_4
Когда я запрашиваю с keyword = 'fri' , Я получил Obj_1
Но я запрашиваю массив keyword = ['wed','fri'], я получил пустой результат. (Я использую $ все)
Я ожидаю, что возвращение будет Obj_1, Obj_3 and Obj_4

Я ищу оператор как $or, но он может запросить с массивом данных.
Пожалуйста, дайте мне предложение.

+1

Используйте [** '$ в' **] (HTTP: // docs.mongodb.org/manual/reference/operator/query/in/#op._S_in) operator 'db.collection.find ({keyword: {$ in: ['wed', 'fri']}})' – chridam

+0

просто прочитайте руководство: [$ или] (http://docs.mongodb.org/manual/reference/operator/query/or/) – Maximilian

ответ

1

Чтобы соответствовать значению в массиве, используйте оператор $ in.

1

Это работает для меня,

db.collection.find ({$ или: [{Ключевое слово: 'ср'}, {Ключевое слово: 'Пт'}]})

ИЛИ

db.collection.find ({ключевое слово: {$ в: [ 'жениться', 'Пт']}})

Смежные вопросы