从数据库中选择特定字段



我只想知道是否可以使用水线选择特定字段,下面给出了 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()

相关内容

  • 没有找到相关文章

最新更新