如果不存在'如何插入'使用orientjs?

时间:2016-08-29 19:27:32

标签: orientdb orientjs

如果不存在,那么进行'插入的惯用方法是什么?

这可以在没有交易的情况下完成吗?

3 个答案:

答案 0 :(得分:3)

试试这个:

带有upsert的

会创建一条记录,如果它不存在,除非它更新

var OrientDB = require('orientjs');

 var server = OrientDB({

     host: 'localhost',
     port: 2424,
     username: 'root',
     password: 'root'

 });

 var db = server.use({

     name:  'GratefulDeadConcerts',
     username: 'root',
     password: 'root'

 })

 db.query('UPDATE V SET id = 23 UPSERT WHERE id = 23')
 .then(function (response) {
    console.log(response);
});

 server.close();

希望它有所帮助。

此致

答案 1 :(得分:1)

您可以使用此代码作为示例

db.query('select from v where rid = 23')
    .then(function (record) {
        if(record.length==0){
            db.query('insert into v(rid) values (23)');
        }
 });

希望它有所帮助。

答案 2 :(得分:0)

如果数据很小(可以保存在服务器的内存中),则可以执行1 get调用以获取所有数据,并仅对尚不存在的数据进行批处理插入。

如果创建数据非常大(超过了运行时内存),则必须遵循Alessandro的方法(该方法很慢,因为每次插入都要检查)。