我尝试根据嵌套对象的值对结果进行排序。使用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是一个对象数组。有些文档是一个空数组,另一些文档包含数据,其中包含一个date字段。
谢谢!
发布于 2012-08-20 10:16:49
当使用点表示法时,您需要将键值放在引号中,因此您的sort对象应该看起来像这样:
sort: {
"items.date" : 1
}它将按每个文档的items数组中的最小date值升序排序
https://stackoverflow.com/questions/12031507
复制相似问题