我需要更新User类中的特定记录。我没有任何具有唯一索引的字段,因此我需要使用@rid字段。
如何使用orientjs更新具有动态属性的特定记录?
我想尽可能使用查询构建器,因为我的更新记录在请求正文中。
这是我尝试过的:
var id = '#' + req.param('id');
db.update('User').set(req.body).where({@rid: id}).scalar()
.then(function (total) {
console.log('updated', total, 'users');
});
它给我一个语法错误,因为我不能在where子句中使用@rid:
db.update('User').set(req.body).where({@rid: id}).scalar()
^
SyntaxError: Unexpected token ILLEGAL
at exports.runInThisContext (vm.js:73:16)
at Module._compile (module.js:443:25)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/Users/alexandre/Documents/bitbucket/rest-api/server/routes/index.js:4:12)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/Users/alexandre/Documents/bitbucket/rest-api/server/server.js:25:14)
at Module._compile (module.js:460:26)
答案 0 :(得分:2)
尝试
db.update(id).set(req.body).scalar()
其中id是您要更新的记录的@rid