我有一个 Nodejs Web 应用程序和一个 mocha 单元测试用例。如何使用 sails-disk mysql 数据适配器将包含姓氏的名称更新为 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
最佳答案
..by using sails-disk mysql data adapter
Sails 磁盘适配器不适用于 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()函数的第一个参数是搜索条件。 update()函数的第二个参数是更新记录的数据。 最后一个是回调。
这里有更多描述:update()
关于mysql - 通过 sails-disk mysql 适配器或 Nodejs 应用程序中的 mysql 查询数据库字段中值为 'null' 的某些数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39259403/