排序在mongodb中不起作用
sorting is not working in mongodb
我正在努力排序查询!!当我使用mongo shell
执行相同的查询时db.locations.find({"$and":[{"timestamp":{"$gte":1438328404766,"$lte":1438329404766}}]}).sort({"timestamp":1})
得到排序结果。但是通过代码来做,然后得到无序的结果。你能看看下面的代码并告诉我这段代码有什么问题吗?
//part of function(condition, offset, limit, sortByColumn, ordering, fields)
logger.debug('Filter condition is '+JSON.stringify(condition));
var instance ;
if (fields) {
instance = self.model.find(condition, fields);
} else {
instance = self.model.find(condition);
}
// start record from
if (!_.isEmpty(offset)) {
logger.debug('Offset is : '+ offset);
instance.skip(offset);
}
if (sortByColumn ) {
//default ordering is asc
ordering = !(ordering) ? 1 : ordering;
instance.sort({sortByColumn: ordering});
logger.debug('sorting with sortByColumn : '+sortByColumn+' Ordering : '+ ordering);
}
if (!_.isEmpty(limit)) {
logger.debug('Limit is : '+ limit);
instance.limit(limit);
}
instance.execAsync()
.then(function(results) {
logger.debug('result is : ' + JSON.stringify(results));
return resolve(results);
}).catch(function(error) {
return reject(error);
});
在JavaScript中,您可以像这样将变量分配给对象的键:
if (sortByColumn ) {
//default ordering is asc
ordering = !(ordering) ? 1 : ordering;
// declare an object
var sorting = {};
// Assign like this
sorting[sortByColumn] = ordering;
instance.sort(sorting); // Use the object
logger.debug('sorting with sortByColumn : '+sortByColumn+' Ordering : '+ ordering);
}
所以你使用"括号"符号来分配一个变量,否则它只是被视为一个"文字"键名,因此:
var sortByColumn = "theColumnIAskedFor";
{ "sortByColumn": 1 } // Not what I want :(
我的结果是:
var sortByColumn = "theColumnIAskedFor";
{ "theColumnIAskedFor": 1 } // Yey! :->
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 监视函数从服务返回不起作用,但作用域函数起作用
- 幻灯片滚动javascript不起作用
- 简单的javascript在Shopify中不起作用
- Recaptcha在IE7和IE8中不起作用
- Ember Data DS.Model's set函数不起作用
- JsFiddle上的鼠标事件不起作用
- 我的AngularJS表达式没有'不起作用
- 点击按钮输入不起作用
- 面向对象的Javascript代码在IE7中不起作用
- 分部隐藏在jquery中不起作用
- 在phonegap应用程序内部重定向不起作用
- Array.length似乎不起作用;console.log则显示其他情况
- Bash 和 MongoDB:Eval 中的空格不起作用
- MongoDB & Meteor - 推送到嵌套数组的查询不起作用,没有抛出错误
- 针对MongoDB检查登录凭据不起作用
- Remove()在mongodb中不起作用
- node-js-mongodb回调不起作用-下面的代码在我的笔记本电脑上起作用,但在另一台电脑上不起作用
- 排序在mongodb中不起作用
- use admin在MongoDB中不起作用