node.js - MongoError:无法规范化查询:BadValue错误的顺序数组[2]

时间:2015-08-14 17:34:44

标签: node.js mongodb node-mongodb-native

我有一个包含以下文档结构的数据库:

{
    "_id" : ObjectId("520bea012ab230549e749cff"),
    "Day" : 1,
    "Time" : 54,
    "State" : "Vermont",
    "Airport" : "BTV",
    "Temperature" : 39,
    "Humidity" : 57,
    "Wind Speed" : 6,
    "Wind Direction" : 170,
    "Station Pressure" : 29.6,
    "Sea Level Pressure" : 150
}

我需要为每个'州'找到最高的'温度'(即有100个带'州'的文件:'佛蒙特州')并添加条目'month_high':true为本文档(具有最高的'温度)

这是我的代码:http://pastebin.com/UbACLbSF

但是当我在shell中运行程序时,我收到以下错误:

  

MongoError:无法规范化查询:BadValue错误的顺序数组[2]

2 个答案:

答案 0 :(得分:3)

你应该传入一个对象,而不是一个数组

cursor.sort({"State": 1, "Temperature": -1});

答案 1 :(得分:0)

你只需要'州'和温度'对吧?所以在排序之前尝试投影。我已经测试了以下代码并且它有效:

var query = {};
var projection = { 'State':1, 'Temperature':1 };
var options = { 'sort' : [['State',1], ['Temperature',-1]] };

var cursor = db.collection('data').find(query, projection, options);