Select 数据库中的特定字段

Select specific fields from database

我只想知道是否可以select特定字段使用水线,orientdb查询如下。

e.g. 
select phone from user

我想通过使用此查询select phone 从用户顶点

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') 来定义 select:https://github.com/balderdashy/waterline/pull/952

来源和更多详细信息 -

是的,这是可能的,但 select 还不行,因为它仍在开发中。但是有一种方法可以使用 fields.

来实现
Model.find({ id: id }, {
  fields: {
    name: 1,
    phoneNumber: 1
  }
}).limit(1).exec(function(...) {};

这不适用于 findOne

在 Sails 版本 1 中,他们添加了发送查询和投影到 find()/findOne() 方法的规定。你可以简单地做: Model.find({其中: {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()