Выберите определенные поля из базы данных
Я просто хочу знать, что можно выбрать определенные поля с помощью ватерлинии, запрос 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'); });
Ответы
Ответ 1
Да, возможно, вам просто нужно добавить select
к вашим критериям поиска, например (при условии, что вы ищете записи с идентификатором 1):
userModel.find({ select: ['phone'], id: 1 })
или, альтернативно:
userModel.find({ select: ['phone'], where: { id: 1 } })
или если вам нужны все записи, вам не нужно указывать критерии:
userModel.find({ select: ['phone'] })
Это, кажется, не документировано нигде, но должно. В версии 0.11 также можно определить select, выполнив model.pick('name', 'age')
: https://github.com/balderdashy/waterline/pull/952
Ответ 2
Источник и подробности - fooobar.com/info/551933/...
Да, возможно, но не с select
, поскольку он все еще находится в разработке. Но есть способ достичь этого, используя fields
.
Model.find({ id: id }, {
fields: {
name: 1,
phoneNumber: 1
}
}).limit(1).exec(function(...) {};
Это не будет работать с findOne
.