我正在尝试根据嵌套对象的值对结果进行排序.使用node-
mongodb本机,我这样做:
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,我收到意外的令牌错误.
项目是一系列对象.一些文件是一个空数组,其他文件包含数据,其中包含一个日期字段.
谢谢!
解决方法
当使用点符号时,您需要将键值放在引号中,因此您的排序对象应该如下所示:
sort: { "items.date" : 1 }
这将按每个文档的items数组中的最小日期值排序升序