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

How to update a specific record from a class using the query builder in Orientjs (previously called oriento)?

我需要更新我的用户 class 中的特定记录。我没有任何具有唯一索引的字段,所以我需要使用 @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)

尝试

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

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