RethinkDB 2.3 - branch

ReQL कमांड: शाखा




rethinkdb

ReQL कमांड: शाखा

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

r.branch(test, true_action[, test2, test2_action, ...], false_action) → any
test.branch(true_action[, test2, test2_action, ...], false_action) → any

विवरण

if-then-else बराबर एक ब्रांचिंग सशर्त प्रदर्शन करें।

branch कमांड में 2n + 1 तर्क होते हैं: सशर्त अभिव्यक्तियों के जोड़े और निष्पादित किए जाने वाले आदेश यदि सशर्त किसी भी मूल्य लेकिन false या null (यानी, "सत्य" मूल्यों) को वापस करते हैं, एक अंतिम "और" आदेश के साथ यदि सभी का मूल्यांकन किया जाए। सशर्त false या null

आप पहले परीक्षण पर branch infix शैली कह सकते हैं। (एक उदाहरण के लिए दूसरा उदाहरण देखें।)

r.branch(test1, val1, test2, val2, elseval)

जावा स्टेटमेंट के बराबर है

if (test1) {
    return val1;
} else if (test2) {
    return val2;
} else {
    return elseval;
}

उदाहरण: x के मान का परीक्षण करें।

int x = 10;
r.branch(r.expr(x).gt(5), "big", "small").run(conn);

// Result:
"big"

उदाहरण: ऊपर, infix- शैली।

int x = 10;
r.expr(x).gt(5).branch("big", "small").run(conn);

// Result:
"big"

उदाहरण: जीत की गणना द्वारा नायकों को वर्गीकृत करें।

r.table("marvel").map(hero -> r.branch(
    hero.g("victories").gt(100),
    hero.g("name").add(" is a superhero"),
    hero.g("victories").gt(10),
    hero.g("name").add(" is a hero"),
    hero.g("name").add(" is very nice")
)).run(conn);

यदि टेबल marvel में दस्तावेज हैं:

[
    { "name": "Iron Man", "victories": 214 },
    { "name": "Jubilee", "victories": 49 },
    { "name": "Slava", "victories": 5 }
]

परिणाम होंगे:

[
    "Iron Man is a superhero",
    "Jubilee is a hero",
    "Slava is very nice"
]

संबंधित आदेश

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

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