我只想知道是否可以使用水线选择特定字段,下面给出了 orientdb 查询。
e.g.
select phone from user
我想使用此查询从用户顶点中选择电话
userModel.find(phone)
.then(function(phonelist){
if(!phonelist)
console.log('msg: RECORD_NOT_FOUND');
else
console.log(phonelist);
.catch(function(err){ console.log('err: 'err'); });
是的,这是可能的,您只需要在搜索条件中添加select
,例如(假设您正在搜索 id 为 1 的记录):
userModel.find({ select: ['phone'], id: 1 })
或者:
userModel.find({ select: ['phone'], where: { id: 1 } })
或者,如果您想要所有记录,则无需提供条件:
userModel.find({ select: ['phone'] })
这似乎没有在任何地方记录,但它应该。在0.11版本中,还可以通过执行model.pick('name', 'age')
来定义选择: https://github.com/balderdashy/waterline/pull/952
来源和更多详细信息 -https://stackoverflow.com/a/24170388/1392194
是的,这是可能的,但不是select
,因为它仍在开发中。但是有一种方法可以使用fields
来实现它。
Model.find({ id: id }, {
fields: {
name: 1,
phoneNumber: 1
}
}).limit(1).exec(function(...) {};
这不适用于findOne
.
在 Sails 版本 1 中,他们添加了向 find()/findOne() 方法发送查询和投影的配置。您可以简单地执行以下操作:Model.find({where: {id: id}, select: ['name', 'phoneNumber']})
在这里找到参考:https://sailsjs.com/documentation/reference/waterline-orm/models/find#?using-projection
你可以使用 .select() 方法
let phones = await userModel.find().select(['phone']);
.select() 的反义词是 .omit()