Document CRUD
Insert
- collection.insert(data, option)
insert후 _id, _key, _rev값이 리턴된다.
arangosh> db.example.insert({ Hello : "World" });
{
"_id" : "example/14800",
"_key" : "14800",
"_rev" : "_UOasXsi---"
}
arangosh> db.example.insert({ Hello : "World" }, {waitForSync: true});
{
"_id" : "example/14804",
"_key" : "14804",
"_rev" : "_UOasXsi--_"
}
![]() |
존재하는 _key인 336846을 직접 지정해서 insert에 실패했다.
|
![]() |
_id를 직접 지정해도 무시된다
|
![]() |
없는 key를 지정하면 해당 key로 insert에 성공한다
|
option은 다음 항목이 있다.
- waitForSync(boolean)
- silent(boolean, >= 3.0) : true일 경우 insert 후 아무것도 리턴하지 않는다.
- returnNew(boolean, >=3.0) : true일 경우 return되는 값의 new 필드에 생성된 값을 넣고 이 document를 반환한다.
![]() |
silent = true일 경우 _key, _id, _rev값이 반환되지 않는다.
|
![]() |
returnNew를 true로 할 경우, new 필드에 insert된 document를 포함하여 리턴한다.
|
참고) ArangoDB 2.2이후부터 insert는 save의 alias이다.
ArangoDB3.0부터는 data에 array가 허용된다.
- collection.insert(array, options)
arangosh> db.example.insert([{ Hello : "World" }, {Hello: "there"}])
[
{
"_id" : "example/14781",
"_key" : "14781",
"_rev" : "_UOasXra---"
},
{
"_id" : "example/14785",
"_key" : "14785",
"_rev" : "_UOasXra--_"
}
]
이 경우 모든 document array가 insert되고, 그에 따른 모든 결과가 반환된다. 만약 에러가 발생하면 에러가 발생한 object는 error object가 반환된다.![]() |
3개의 object를 insert하는데 두 번째 것이 이미 존재하는 _key여서 해당 object만 error를 리턴한다.
|
EmoticonEmoticon