Сортировка MongoDB по вложенному значению объекта
Я пытаюсь отсортировать результаты на основе значений вложенного объекта. Используя node-mongodb-native
, Я делаю это:
this.collection.find({
"_id": ObjectID(item_id) },
{ "items": 1 },
{ sort : { items.date : 1 }
}, function(err, result) {
if (err) {
callback(err);
} else {
callback(null, result);
}
});
я получаю неожиданную ошибку токена для items.date
.
items
- это массив объектов. Некоторые документы это пустой массив, другие содержат данные, которые содержат
1 ответов
при использовании точечной нотации вам нужно поместить ключевое значение в кавычки, поэтому ваш sort
объект должен выглядеть так:
sort: {
"items.date" : 1
}
это будет сортировать по возрастанию по минимуму date
значение в каждом документе items
массив