我尝试根据嵌套对象的值对结果进行排序。使用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
复制相似问题