Sails.js 项目don';t与sort一起工作

Sails.js 项目don';t与sort一起工作,sails.js,waterline,Sails.js,Waterline,为什么在船帆上使用分拣时,不起作用 Command.find({},{parameter:true, value: true, _id: false, finalDate:true}).sort('finalDate ASC').exec(function(error, cmd){} 您在哪里找到了投影文档?好的,投影在吃水线中不可用。是答案 使用Sort()时,将禁用此选项 当您使用水线时,您不会直接与sails mongo驾驶员进行交互。Waterline是一个适配器无关的抽象,它允许使用

为什么在船帆上使用分拣时,不起作用

Command.find({},{parameter:true, value: true, _id: false, finalDate:true}).sort('finalDate ASC').exec(function(error, cmd){}

您在哪里找到了
投影
文档?好的,
投影在吃水线中不可用。

是答案

使用Sort()时,将禁用此选项

当您使用水线时,您不会直接与sails mongo驾驶员进行交互。Waterline是一个适配器无关的抽象,它允许使用特定接口构建适配器

当前的查找方法仅接受标准对象,而不接受投影对象。这是因为Waterline中的find方法不仅必须与sails mongo一起使用,还必须与sails mysql、sails postgresql、sails redis等一起使用

在下一个Waterline版本0.10中,我想向查询生成器引入一个select选项,以允许跨所有适配器完成这类工作

同时,如果需要投影,您可以使用本机方法访问direct mongo驱动程序:

//抓取mongo驱动程序的一个实例

User.native(function(err, collection) {
    // Execute any query that works with the mongo js driver
    collection.find(criteria, projection).sort(sort).toArray(function(err, docs) {
        console.log(users);
    });
});

如果不进行排序就运行该查询,那么您就错了,它可以完美地工作。在“查找”中,投影参数指定要返回的字段。参数包含include或exclude规范,而不是两者,除非exclude用于_id字段