使用promise和mongoose对文档进行排序
sorting docs using promise with mongoose
当我执行console.log(all)
时,我希望返回过滤后的排序数据,但我却返回了整个原始数据。为什么?
var Comp = require("./models/company.js");
var arr = [
{name : "comp1",industry : "industry1", ranking: 20},
{name : "comp2",industry : "industry2", ranking: 5},
{name : "comp3",industry : "industry3", ranking: 10}
]
var output = {};
var promise = Comp.find({}).exec()
promise.then(function(docs){
return Comp.remove({}).exec()
})
promise.then(function(){
console.log("deleted")
})
promise.then(function(){
return Comp.create(arr).exec()
})
promise.then(function(data){
output.data = data;
console.log(output)
})
promise.then(function(){
return Comp.find({}, 'name -_id ranking', {sort :{ranking :1}}).exec();
})
promise.then(
function(all){
console.log("test")
console.log(all)
},
function(error){
console.log(error)
}
)
promise.then(function(){
return Comp.count({}, function(count){
return count;
});
})
promise.then(function(count){
console.log("count")
// console.log(count)
})
我的另一个相关问题。
您将所有.then
回调附加到同一个promise。这不是链接,而是分支。
分支机构:
var p = Promise.resolve(1);
p.then(foo);
p.then(bar); // wont wait for foo. Calls bar(1).
若要链接,请始终附加到最后一个承诺。
链:
var p = Promise.resolve(1);
p = p.then(foo);
p = p.then(bar); // waits for foo. Calls bar(result_from_foo).
或者简单地说:Promise.resolve().then(foo).then(bar);
相关文章:
- 使用promise和mongoose对文档进行排序
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- Ajax请求文档就绪会导致jquery加载缓慢
- MongoDB (php) - 以数组而不是多个属性的形式返回文档属性
- 谷歌文档表面引擎
- 在文档就绪时追加DDL;不要让它在列表项上有CSS,而不让它们可排序
- 通过最大的嵌入式文档对文档集合进行排序 mongodb
- 如何在MongoDB中按其文档的内容对数组进行排序
- 如何使用 Mongoose.js 3.8.20 和 MongoDB 2.6.5 对文档进行排序
- 流星:如何按数组的第一项对文档进行排序
- 有没有一种方法可以通过一些任意的排序标准从猫鼬集合中获得第n个文档
- js文档排序不起作用
- 如何将Mongoose排序查询偏移到特定文档之后启动
- 如何使用另一个文档数组中的id对光标进行排序
- 按筛选的子文档数组元素计数排序
- 误导jqgrid文档:客户端排序,但服务器端分页
- Mapreduce与内部文档mongodb排序
- 猫鼬子文档排序
- 如何根据列表中项目的位置对mongodb文档的位置进行排序.(流星)
- 按xpages中值的总和对文档集合排序