如何使用Orientjs中的查询构建器(以前称为oriento)从类更新特定记录?

时间:2015-07-07 15:19:37

标签: orientdb oriento

我需要更新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)

1 个答案:

答案 0 :(得分:2)

尝试

db.update(id).set(req.body).scalar()

其中id是您要更新的记录的@rid