【问题标题】:findOne({key:value}) or findOne().where({key:value}) when querying database with waterline?findOne({key:value}) 或 findOne().where({key:value}) 使用水线查询数据库时?
【发布时间】:2015-06-30 23:59:40
【问题描述】:

我正在使用 Waterline 通过 Sails 查询 MySQL 数据库。我找到了两种方法。
不知道哪个比较好?
顺便问一下,这两种情况如何处理错误?

1. Model.findOne().where({key: value}).then(function(data){
      console.log(data);})

2. Phase.findOne({key: value}).then(function(data){
      console.log(phase);})

【问题讨论】:

    标签: mysql orm sails.js waterline


    【解决方案1】:

    两者都可以。在该方法中,您会发现如下所示的错误。

    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

    【讨论】:

      猜你喜欢
      • 2021-12-04
      • 1970-01-01
      • 1970-01-01
      • 2017-04-15
      • 2021-11-26
      • 2018-01-21
      • 1970-01-01
      • 2022-08-18
      • 1970-01-01
      相关资源
      最近更新 更多