У меня есть коллекция MongoDB с документами в следующем формате:
{
"_id" : ObjectId("4e8ae86d08101908e1000001"),
"name" : ["Name"],
"zipcode" : ["2223"]
}
{
"_id" : ObjectId("4e8ae86d08101908e1000002"),
"name" : ["Another ", "Name"],
"zipcode" : ["2224"]
}
В настоящее время я могу получить документы, соответствующие определенному размеру массива:
db.accommodations.find({ name : { $size : 2 }})
Это правильно возвращает документы с 2 элементами в массиве name
. Однако я не могу сделать команду $gt
для возврата всех документов, где поле name
имеет размер массива больше 2:
db.accommodations.find({ name : { $size: { $gt : 1 } }})
Как я могу выбрать все документы с массивом name
размером более одного (желательно без изменения текущей структуры данных)?