你怎么做一个'喜欢'的查询?

时间:2016-07-10 19:59:20

标签: javascript node.js bookshelf.js

我是Bookshelf JS的新手,想要对数据库进行类似的查询。我在他们的官方网站上阅读了这些文档,但我无法弄清楚这一点。

以下是我的代码:

  1.  var DB = Bookshelf.initialize({
      client: 'mysql', 
      connection: config

     });

  2.  var User1=DB.Model.extend({

      tableName: 'applicationPrimary',

      });

3。现在我想进行如下查询:

select * from applicationPrimary where id like '%2%' ;

4.我尝试过以下方法:

   Model.User1.query(function(qb) {
   qb.where('id', 'LIKE', '%2%')

   }).fetch()
   .then(function(model) {
    console.log(model)

   });       

以下是我初始化和设置的方式:

 1.    var Bookshelf = require('bookshelf');

    var config = {

     host: 'localhost',
     user: 'root',
     password: 'root',
     database: 'mydb',
     charset: 'UTF8_GENERAL_CI'

     };

    var DB = Bookshelf.initialize({

    client: 'mysql', 

    connection: config

  });

    module.exports.DB = DB;


 2. var DB = require('./db').DB;

     var User1 = DB.Model.extend({
     tableName: 'applicationPrimary',

     });


   module.exports = {
   User1: User1,

   };

然后我将它用作:

var Model = require('./ model');

在我使用User1的文件中。

以上操作不起作用,它会抛出错误,说没有名为query的函数。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

LIKE的语法是正确的,问题是你应该在.where对象上使用User1,而不是.query上的Model.User1

User1.where('id', 'LIKE', '%2%').fetch().then(...)