orientjs - 如何执行批量插入

时间:2016-03-23 12:57:13

标签: orientdb orientjs

orientdb.insert()
        .into('User')
        .set({name: 'John', surname: 'Smith'})
        .all()
        .then(function(result) {
  ...
}, function(error){
  ...
})

这是通过orientjs在OrientDb中插入单个顶点的方法。如何一次插入多个对象?

以下查询

orientdb.insert()
        .into('User')
        .set([{name: 'John', surname: 'Smith'}, {name: 'Harry', surname: 'Potter'}])
        .all()
        .then(function(result) {
      ...
    }, function(error){
      ...
    })

仅插入最后一个元素({name: 'Harry', surname: 'Potter'}

2 个答案:

答案 0 :(得分:1)

试试这个

var OrientDB = require('orientjs');

var server = OrientDB({
    host: 'localhost',
    port: 2424,
    username: 'root',
    password: 'root'
})

var db = server.use({
  name: 'mydb',
  username: 'admin',
  password: 'admin'
})

db.query('insert into User2(name) values ("John"),("Harry")').then(function (response) {
    console.log(response);
});

server.close();

这是我得到的结果

enter image description here

希望有所帮助

答案 1 :(得分:1)

您还可以使用LET声明:

var OrientDB = require('orientjs');

var server = OrientDB({
    host: 'localhost',
    port: 2424,
    username: 'root',
    password: 'root'
});

var db = server.use({
    name: 'OrientJStest',
    username: 'root',
    password: 'root'
});

db.let('insert',function(i) {
            i
                .insert()
                .into('Person')
                .set({'name':'John'});
        })
        .let('insert2',function(i2) {
            i2
                .insert()
                .into('Person')
                .set({'name':'Harry'});
        })
        .commit()
        .all();

db.select().from('Person').all()
    .then(function (vertex) {
        console.log('Vertexes found: ',vertex);
});

<强>输出

Vertexes found:  [ { '@type': 'd',
    '@class': 'Person',
    name: 'John',
    '@rid': { [String: '#12:0'] cluster: 12, position: 0 },
    '@version': 1 },
  { '@type': 'd',
    '@class': 'Person',
    name: 'Harry',
    '@rid': { [String: '#12:1'] cluster: 12, position: 1 },
    '@version': 1 } ]

输出(工作室)

enter image description here

希望有所帮助