Sails.js 未提供任何条件和字段/select的WaterlineJs find()无效

Sails.js 未提供任何条件和字段/select的WaterlineJs find()无效,sails.js,waterline,Sails.js,Waterline,我正在尝试获取所有记录,但对于选定的字段,我尝试了以下方法,但均无效: Post.find( { 其中:{}, 选择:[“标题”] } ); Post.find( {}, { 字段:{ 标题:1 } } );正如答案所指出的,只要您传递其他参数,如限制或顺序,字段param“就会起作用。” 或者,如果您希望在整个应用程序中实现这一点,您可以在属性下为您的模型定义一个自定义的toJSON函数。如果没有,您仍然可以在其他一些(例如,filter)下定义它,并使用map返回自定义对象,而不是默认模型。

我正在尝试获取所有记录,但对于选定的字段,我尝试了以下方法,但均无效:

Post.find(
{
其中:{},
选择:[“标题”]
}
);

Post.find(
{},
{
字段:{
标题:1
}
}
);

正如答案所指出的,只要您传递其他参数,如
限制
顺序
,字段param“就会起作用。”


或者,如果您希望在整个应用程序中实现这一点,您可以在
属性
下为您的模型定义一个自定义的
toJSON
函数。如果没有,您仍然可以在其他一些(例如,
filter
)下定义它,并使用
map
返回自定义对象,而不是默认模型。记住在使用
map
时要注意控制流。使用async/promissions/raw逻辑避免在处理所有对象之前返回。

我一直在尝试获得高于答案的结果,以使用limit或order来启动投影,但没有任何效果

我确实在这里的文档中看到了这一点:

为您的工作提供现成的解决方案(粘贴在此处以便于使用)

调出响应基本内容并将Pet更改为Post,这应该在sails控制台中起作用:

Post.native(function(err, collection) {
  if (err) throw new Error(err);

  collection.find({}, {
     title: true
  }).toArray(function (err, results) {
    if (err) throw new Error(err);
    console.log(results);
  });
});
您仍然会得到_id字段,如果您不想这样做,那么点击Mongo文档中没有得到这些提示(title:true,_id:false)的提示


希望这有帮助

该问题已在sails mongo最新版本中解决:

谢谢

Post.native(function(err, collection) {
  if (err) throw new Error(err);

  collection.find({}, {
     title: true
  }).toArray(function (err, results) {
    if (err) throw new Error(err);
    console.log(results);
  });
});