Insert
Insert( ref, ts, action, param_object )
Insert( ref, ts, action, param_object )
Insert( ref, ts, action, param_object )
Insert( ref, ts, action, param_object )
insert( ref, ts, action, param_object )
Insert( ref, ts, action, param_object )
Description
The Insert
function adds an event to a document’s history at a
specified timestamp.
We do not recommend using the update action. Currently, it
operates like a create action. For example, if you create a
document, and then use Insert to create an update , the
document then looks identical to the update; any fields not
specified are removed.
|
Parameters
Argument | Type | Definition and Requirements | ||
---|---|---|---|---|
|
A reference must refer to a user-defined collection or a key to be modified. A reference to any other collection results in an "invalid argument" error. |
|||
|
The timestamp within the document’s history that should be modified. Can be expressed as either a number of UNIX microseconds or as a Timestamp.
|
|||
|
The type of action ( |
|||
|
The |
Returns
An object containing the metadata about the insert operation.
Field Name | Field Type | Definition and Requirements |
---|---|---|
|
The timestamp when the document’s history was modified. |
|
|
The action for the event. |
|
|
The reference to document where the event was inserted. |
|
|
A copy of the document data that was created, updated, or deleted. |
Examples
The following query modifies the history of the "spells" collection for
the document at id 181388642581742080
, adding a document create
operation at timestamp 1 with the associated user data:
client.Query(
Insert(
Ref(Collection("spells"), "181388642581742080"),
ts: 1,
action: "create",
@params: Obj(
"data", Obj(
"name", "Mountain's Thunder",
"cost", 10,
"element", Arr("air", "earth")
)
)
)
);
{
"ts": 1,
"action": "create",
"resource": { "@ref": "classes/spells/181388642581742080" }
}
curl https://db.fauna.com/ \
-u fnAChGwBcAACAO70ziE0cfROosNJHdgBmJU1PgpL: \
-d '{
"insert": { "@ref": "classes/spells/181388642581742080" },
"ts": 1,
"action": "create",
"params": {
"object": {
"data": {
"object": {
"name": "Mountain's Thunder",
"cost": 10,
"element": [ "air", "earth" ]
}
}
}
}
}'
HTTP/1.1 200 OK
{
"resource": {
"ts": 1,
"action": "create",
"resource": { "@ref": "classes/spells/181388642581742080" }
}
}
result, _ := client.Query(
f.Insert(
f.RefCollection(f.Collection("spells"), "181388642581742080"),
1,
f.ActionCreate,
f.Obj{
"data": f.Obj{
"name": "Mountain's Thunder",
"cost": 10,
"element": f.Arr{"air", "earth"},
},
},
),
)
fmt.Println(result)
map[ts:1 action:create document:{181388642581742080 0xc420254480 <nil>} data:map[name:Mountain's Thunder cost:10 element:[air earth]]]
System.out.println(
client.query(
Insert(
Ref(Collection("spells"), Value(181388642581742080L)),
Value(1),
Action.CREATE,
Obj(
"data", Obj(
"name", Value("Mountain's Thunder"),
"cost", Value(10),
"element", Arr(Value("air"), Value("earth"))
)
)
)
).get());
{
ts: 1,
action: "create"
document: ref(id = "181388642581742080", collection = ref(id = "spells", collection = ref(id = "collections"))),
data: {
name: "Mountain's Thunder",
cost: 10,
element: ["air", "earth"]
}
}
client.query(
q.Insert(
q.Ref(q.Collection('spells'), '181388642581742080'),
1,
'create',
{
data: {
name: 'Mountain\'s Thunder',
cost: 10,
element: ['air', 'earth'],
},
},
)
)
.then((ret) => console.log(ret))
{ ts: 1,
action: 'create',
document:
Ref(id=181388642581742080, collection=Ref(id=spells, collection=Ref(id=collections))),
data:
{ name: 'Mountain\'s Thunder',
cost: 10,
element: [ 'air', 'earth' ] } }
client.query(
q.insert(
q.ref(q.collection("spells"), "181388642581742080"),
ts=1,
action="create",
params={
"data": {
"name": "Mountain's Thunder",
"cost": 10,
"element": ["air", "earth"]
}
}
)
)
{
"ts": 1,
"action": "create",
"resource": { "@ref": "classes/spells/181388642581742080" }
}
client.query(
Insert(
Ref(Collection("spells"), "181388642581742080"),
ts = 1,
action = "create",
params = Obj(
"data" -> Obj(
"name" -> "Mountain's Thunder",
"cost" -> 10,
"element" -> Arr("air", "earth")
)
)
)
)
{
"ts": 1,
"action": "create",
"resource": { "@ref": "classes/spells/181388642581742080" }
}
Is this article helpful?
Tell Fauna how the article can be improved:
Visit Fauna's forums
or email docs@fauna.com
Thank you for your feedback!