lar*_*ron 6 javascript mongodb node.js express
我正在通过mongo native连接器在连接到mongodb的nodejs中开发一个Web应用程序.
在我的一个js文件中,我有一个通用方法来调用"find"或"findOne"操作来从mongodb集合中检索我需要的任何内容,如下所示:
这对我来说可以.
但是现在,我需要对结果进行排序,据我所知,Mongodb使用"排序"方法来实现这一目标.
collection.ensureIndex(indexedFields, function(error, indexName) {
if (error) {
callback(error);
} else {
var operation = (params.options.one) ? collection.findOne : collection.find;
operation.call(collection, params.selector, params.fields, params.options,
function(error, result){
if (error) {
...
} else {
...
}
}
);
}
});
Run Code Online (Sandbox Code Playgroud)
在一个简单的查询中,这应该是这样的:例如:
collection.find().sort({field : 1}),
Run Code Online (Sandbox Code Playgroud)
我不知道如何调用"排序"方法,这是我的通用方式.
有任何想法吗?
谢谢.
你看过mongojs(https://github.com/gett/mongojs)吗?我将它用于我的节点应用程序,它运行良好(我也使用expressjs).您可以使用以下语法进行简单的查找和排序:
db.test.find().sort({name:1}, function(error, tuples) { console.log(tuples) });
Run Code Online (Sandbox Code Playgroud)
我找到了解决方案。
似乎缺少“toArray”,否则不起作用。
operation.call(collection, params.selector, params.fields, params.options, function(error, result) {
if (error) {
callback(error);
} else {
result.sort(params.sort).toArray(function(error, items) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
我希望这会有所帮助
归档时间: |
|
查看次数: |
10938 次 |
最近记录: |