RethinkDB 2.3 - deleteAt

ReQL कमांड: डिलीट




rethinkdb

ReQL कमांड: डिलीट

कमांड सिंटैक्स

array.deleteAt(offset [,endOffset]) → array

विवरण

किसी दिए गए इंडेक्स में एक या एक से अधिक तत्वों को निकालें। संशोधित सरणी देता है। (नोट: deleteAt , सरणियों पर काम करता है, दस्तावेज़ों को नहीं; दस्तावेज़ों को हटाने के लिए, delete आदेश देखें।)

यदि केवल offset निर्दिष्ट किया गया है, deleteAt उस सूचकांक में तत्व को हटाता है। यदि offset और endOffset दोनों निर्दिष्ट हैं, तो deleteAt offset और endOffset बीच तत्वों की सीमा को हटा देता है, deleteAt को सम्मिलित endOffset , लेकिन endOffset शामिल नहीं करता है।

यदि endOffset निर्दिष्ट है, तो यह offset से कम नहीं होना चाहिए। offset और endOffset दोनों ही सरणी के सीमा के भीतर होने चाहिए (यानी, अगर एरे में 10 तत्व हैं, तो 10 या अधिक की offset या endOffset अमान्य है)।

एक नकारात्मक offset का उपयोग करके आप सरणी के अंत से हटा सकते हैं। -1 सरणी में अंतिम तत्व है, -2 दूसरे से अंतिम तत्व है, और इसी तरह। आप एक नकारात्मक endOffset निर्दिष्ट कर सकते हैं, हालांकि सकारात्मक मूल्य के साथ, यह समावेशी नहीं होगा। रेंज (2,-1) अगले-से-अंतिम तत्व के माध्यम से तीसरे तत्व को निर्दिष्ट करता है।

उदाहरण: किसी सरणी का दूसरा तत्व हटाएं।

r.expr(r.array("a", "b", "c", "d", "e", "f")).deleteAt(1).run(conn);

// Result:
["a", "c", "d", "e", "f"]

उदाहरण: किसी सरणी का दूसरा और तीसरा तत्व हटाएं।

r.expr(r.array("a", "b", "c", "d", "e", "f")).deleteAt(1, 3).run(conn);

// Result:
["a", "d", "e", "f"]

उदाहरण: किसी सरणी का अगला-से-अंतिम तत्व हटाएं।

r.expr(r.array("a", "b", "c", "d", "e", "f")).deleteAt(-2).run(conn);

// Result:
["a", "b", "c", "d", "f"]

उदाहरण: किसी पोस्ट पर एक टिप्पणी हटाएं।

एक पोस्ट दस्तावेज़ जैसे:

{
    "id": "4cf47834-b6f9-438f-9dec-74087e84eb63",
    "title": "Post title",
    "author": "Bob",
    "comments": [
        { "author": "Agatha", "text": "Comment 1" },
        { "author": "Fred", "text": "Comment 2" }
    ]
}

दूसरी टिप्पणी को update और deleteAt का उपयोग करके हटाया जा सकता है।

r.table("posts").get("4cf47834-b6f9-438f-9dec-74087e84eb63").update(
    row -> r.hashMap("comments", row.g("comments").deleteAt(1)
).run(conn);

संबंधित आदेश

अधिक सहायता प्राप्त करें

आप जो खोज रहे थे, वह नहीं मिला?