आपको पूरे दस्तावेज़ को अपडेट करने के लिए प्रतिस्थापित करने की आवश्यकता नहीं है। ReQL command: literal
मान लें अपने उपयोगकर्ता दस्तावेज़ इस तरह दिखता है:
{
"id": 1,
"name": "Alice",
"data": {
"age": 19,
"city": "Dallas",
"job": "Engineer"
}
}
और आप डेटा गुण से उम्र निकालना चाहते यहाँ प्रासंगिक दस्तावेज है। आम तौर पर, अद्यतन पुराने डेटा के साथ बस अपना नया डेटा मर्ज करेगा। डेटा ऑब्जेक्ट को एक इकाई के रूप में इलाज करने के लिए r.literal का उपयोग किया जा सकता है।
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"
}
}
या
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"
}
}
स्रोत
2017-06-28 18:31:09
यदि आप नुस्खा के जावास्क्रिप्ट संस्करण की तलाश में हैं: http://rethinkdb.com/docs/cookbook/javascript/#removing-a-field-from-a-document – neumino
मैं इसे नेस्टेड फ़ील्ड के लिए कैसे कर सकता हूं कुंजी? – Suvitruf
@Suvitruf, आप निम्नानुसार नेस्टेड फ़ील्ड सिंटैक्स का उपयोग निम्नानुसार कर सकते हैं: '.replace (r.row.without ({key1: {key2: true}})) – BarthesSimpson