Bạn không cần sử dụng thay thế để cập nhật toàn bộ tài liệu. Dưới đây là tài liệu có liên quan: ReQL command: literal
Giả tài liệu người dùng của bạn trông như thế này:
{
"id": 1,
"name": "Alice",
"data": {
"age": 19,
"city": "Dallas",
"job": "Engineer"
}
}
Và bạn muốn loại bỏ tuổi từ tài sản dữ liệu. Thông thường, cập nhật sẽ chỉ hợp nhất dữ liệu mới của bạn với dữ liệu cũ. r.literal có thể được sử dụng để xử lý đối tượng dữ liệu dưới dạng một đơn vị duy nhất.
r.table('users').get(1).update({ data: r.literal({ age: 19, job: 'Engineer' }) }).run(conn, callback)
// Result passed to callback
{
"id": 1,
"name": "Alice",
"data": {
"age": 19,
"job": "Engineer"
}
}
hoặc
r.table('users').get(1).update({ data: { city: r.literal() } }).run(conn, callback)
// Result passed to callback
{
"id": 1,
"name": "Alice",
"data": {
"age": 19,
"job": "Engineer"
}
}
Nguồn
2017-06-28 18:31:09
Nếu bạn đang tìm kiếm phiên bản javascript của công thức: http://rethinkdb.com/docs/cookbook/javascript/#removing-a-field-from-a-document – neumino
Làm cách nào tôi có thể làm điều này cho trường lồng nhau của Chìa khóa? – Suvitruf
@Suvitruf, bạn có thể sử dụng cú pháp trường lồng nhau như sau: '.replace (r.row.without ({key1: {key2: true}}))' – BarthesSimpson