Update
Update( ref, param_object )
Update( ref, param_object )
Update( ref, param_object )
Update( ref param_object )
q.update( ref param_object )
update ref param_object
Update( ref param_object )
Update( ref, param_object )
Description
The update
operation only modifies the specified fields in the
documents pointed to by ref
. Updates are partial, and only modify
values that are specified in the param_object. Changes to scalar values
and arrays are entirely replaced by the new data. Modifications to
objects are merged. Setting a value to null
completely removes the
value. Fields in the document not specified in the param_object
are
not modified.
For performance, Databases, Collections, Functions, Indexes,
Keys, and Roles use an object cache. When you use Update to
modify any of these FaunaDB schema documents, the
modification is not guaranteed to be visible immediately.
|
Parameters
Argument | Type | Definition and Requirements |
---|---|---|
|
Reference |
A reference identifying the document that should be modified. |
|
Object |
The param_object is an object which can contain many items. |
Returns
An object containing the metadata about the update operations.
Field Name | Field Type | Definition and Requirements |
---|---|---|
|
Reference |
The reference which identifies the document just updated. |
|
Object |
A copy of the new document data. |
|
Long |
The timestamp associated with the removal of the data. |
Examples
The query below updates the document by changing the name
field
to the value "Mountains’s Thunder" and removing the cost
field from
the document. All other fields in the document remain unchanged.
curl https://db.fauna.com/ \
-u fnAChGwBcAACAO70ziE0cfROosNJHdgBmJU1PgpL: \
-d '{
"update": { "@ref": "classes/spells/181388642581742080" },
"params": {
"object": {
"data": {
"object": { "name": "Mountain's Thunder", "cost": null }
}
}
}
}'
client.Query(
Update(
Ref(Collection("spells"), "181388642581742080"),
Obj("data", Obj("name", "Mountain's Thunder", "cost", Null()))
)
);
System.out.println(
client.query(
Update(
Ref(Collection("spells"), Value(181388642581742080L)),
Obj(
"data", Obj(
"name", Value("Mountain's Thunder"),
"cost", Null()
)
)
)
).get());
result, _ := client.Query(
f.Update(
f.RefCollection(f.Collection("spells"), "181388642581742080"),
f.Obj{
"data": f.Obj{"name": "Mountain's Thunder", "cost": f.Null()},
},
),
)
fmt.Println(result)
client.query(
Update(
Ref(Collection("spells"), "181388642581742080"),
Obj(
"data" -> Obj("name" -> "Mountain's Thunder", "cost" -> Null())
)
)
)
client.query(
q.update(
Ref(Collection("spells"), "181388642581742080"),
{
"data": {
"name": "Mountain's Thunder",
"cost": None
}
}
)
)
$client.query do
update ref(collection('spells'), '181388642581742080'),
data: { name: "Mountain's Thunder", cost: nil }
end
client.query(
Update(
ref: Ref(Collection("spells"), "181388642581742080"),
to: Obj(
"data" => Obj("name" => "Mountain's Thunder", "cost" => nil)
)
)
)
client.query(
q.Update(
q.Ref(q.Collection('spells'), '181388642581742080'),
{
data: {
name: 'Mountain\'s Thunder',
cost: null,
},
},
)
)
.then((ret) => console.log(ret))
HTTP/1.1 200 OK
{
"resource": {
"ref": { "@ref": "classes/spells/181388642581742080" },
"class": { "@ref": "classes/spells" },
"ts": 1509244539727423,
"data": { "name": "Mountain's Thunder", "element": "air" }
}
}
{
"ref": { "@ref": "classes/spells/181388642581742080" },
"class": { "@ref": "classes/spells" },
"ts": 1509244539727423,
"data": { "name": "Mountain's Thunder", "element": "air" }
}
{
ref: ref(id = "181388642581742080", collection = ref(id = "spells", collection = ref(id = "collections"))),
ts: 1526674566645179,
data: {
name: "Mountain's Thunder",
element: "air"
}
}
map[ref:{181388642581742080 0xc420229300 <nil>} ts:1509244539727423 data:map[name:Mountain's Thunder element:air]]
{
"ref": { "@ref": "classes/spells/181388642581742080" },
"class": { "@ref": "classes/spells" },
"ts": 1509244539727423,
"data": { "name": "Mountain's Thunder", "element": "air" }
}
{
"ref": { "@ref": "classes/spells/181388642581742080" },
"class": { "@ref": "classes/spells" },
"ts": 1509244539727423,
"data": { "name": "Mountain's Thunder", "element": "air" }
}
{
"ref": { "@ref": "classes/spells/181388642581742080" },
"class": { "@ref": "classes/spells" },
"ts": 1509244539727423,
"data": { "name": "Mountain's Thunder", "element": "air" }
}
{
"ref": { "@ref": "classes/spells/181388642581742080" },
"class": { "@ref": "classes/spells" },
"ts": 1509244539727423,
"data": { "name": "Mountain's Thunder", "element": "air" }
}
{ ref:
Ref(id=181388642581742080, collection=Ref(id=spells, collection=Ref(id=collections))),
ts: 1527276015058883,
data: { name: 'Mountain\'s Thunder', element: [ 'air' ] } }
Was this article helpful?
We're sorry to hear that.
Tell us how we can improve!
documentation@fauna.com
Thank you for your feedback!