findOne({key:value}) 或 findOne().where({key:value}) 用水线查询数据库时?
findOne({key:value}) or findOne().where({key:value}) when querying database with waterline?
我正在使用 Waterline 通过 Sails 查询 MySQL 数据库。我找到了 2 种方法。
不知道哪个更好?
顺便问一下,如何处理这两种情况的错误?
1. Model.findOne().where({key: value}).then(function(data){
console.log(data);})
2. Phase.findOne({key: value}).then(function(data){
console.log(phase);})
两者都行。在该方法中,您会发现如下所示的错误。
1. Model.findOne().where({key: value}).then(function(data){
console.log(data);}).catch(function(err){/*....*/})
2. Phase.findOne({key: value}).then(function(data){
console.log(phase);}).catch(function(err){/*....*/})
另一种选择
Phase.findOne({key: value}).exec(function(err, data){
if(err) /* Do something with error */
console.log(phase);
})
此外,如果您通过主键搜索,那么您可以
Phase.findOne(PK)
https://github.com/balderdashy/waterline-docs/blob/master/query.md#query-language
我正在使用 Waterline 通过 Sails 查询 MySQL 数据库。我找到了 2 种方法。
不知道哪个更好?
顺便问一下,如何处理这两种情况的错误?
1. Model.findOne().where({key: value}).then(function(data){
console.log(data);})
2. Phase.findOne({key: value}).then(function(data){
console.log(phase);})
两者都行。在该方法中,您会发现如下所示的错误。
1. Model.findOne().where({key: value}).then(function(data){
console.log(data);}).catch(function(err){/*....*/})
2. Phase.findOne({key: value}).then(function(data){
console.log(phase);}).catch(function(err){/*....*/})
另一种选择
Phase.findOne({key: value}).exec(function(err, data){
if(err) /* Do something with error */
console.log(phase);
})
此外,如果您通过主键搜索,那么您可以
Phase.findOne(PK)
https://github.com/balderdashy/waterline-docs/blob/master/query.md#query-language