使用' null'查询somedata数据库字段中的值由sails-disk mysql adapter或nodejs应用程序中的mysql组成

时间:2016-08-31 21:37:05

标签: mysql node.js null sails.js mocha

我有一个nodejs Web应用程序和一个mocha单元测试用例。如何使用sails-disk mysql数据适配器将包含lastname的名称更新为null?对于mysql查询字符串就像$ update user SET lastname =' aaa'其中lastname为NULL;

it('Should get user.', function (done) {
    request(sails.hooks.http.app)
    .update('/user')
    .send({lastname: null})
    .expect(201)
    .end(function (err, res) {
        console.log(res.body;)
      done();
    });
});
经过几次尝试,我发现问题是mysql无法通过查询获取数据

it('should create a User', function (done) {
    request('/user')
    .send({ name: 'aaaa' })
        .expect(201)
    .end((err, res) => {
        console.log(res.body);
        done();
    });
});
it('should get a User', function (done) {
    request('/user')
    .query({ name: 'aaaa' })
    .end((err, res) => {
        console.log(res.body);
        done();
    });
});
it('should get a User', function (done) {
    request('/user')
    .query({ lastname: null })
    .end((err, res) => {
        console.log(res.body);
        done();
    });
});
it('should get a User', function (done) {
    request('/user')
    .send({ lastname: null })
    .end((err, res) => {
        console.log(res.body);
        done();
    });
});

{ name: 'aaaa',
  lastname: null,
  id: 2 }
    ✓ should create a User (62ms)
[ { name: 'aaaa',
    lastname: null,
    id: 2 }]
    ✓ should get a User
[]
    ✓ should get a User
[]
    ✓ should get a User

1 个答案:

答案 0 :(得分:0)

  

..使用sails-disk mysql数据适配器

Sails-disk adapter不适用于MySQL。而不是这个,我们有一个sails-mysql

要更新模型,您应该这样做:

 User.update({lastname: "null"}, {lastname: new_user_name}).exec((err, updated_user) => {
   if (err) return  res.serverError();
   else if(!updated_user) return res.notFound("User doesn't exist!!!");
   else return res.ok();
 });

update()函数的第一个parmetr是搜索的标准。 update()函数的第二个参数是用于更新记录的数据。 最后一个是回调。

以下是更多说明:update()