ऐरे फ़ंक्शन
| नाम | ब्यौरा |
ARRAY
|
यह एक ARRAY दिखाता है, जिसमें हर इनपुट आर्ग्युमेंट के लिए एक एलिमेंट होता है
|
ARRAY_CONCAT
|
यह फ़ंक्शन, एक से ज़्यादा ऐरे को एक ही ARRAY में जोड़ता है
|
ARRAY_CONTAINS
|
अगर दिए गए ARRAY में कोई खास वैल्यू मौजूद है, तो TRUE दिखाता है
|
ARRAY_CONTAINS_ALL
|
अगर सभी वैल्यू ARRAY में मौजूद हैं, तो TRUE दिखाता है
|
ARRAY_CONTAINS_ANY
|
अगर कोई भी वैल्यू ARRAY में मौजूद है, तो TRUE दिखाता है
|
ARRAY_GET
|
यह फ़ंक्शन, ARRAY में दिए गए इंडेक्स पर मौजूद एलिमेंट को दिखाता है
|
ARRAY_LENGTH
|
यह फ़ंक्शन, ARRAY में मौजूद एलिमेंट की संख्या दिखाता है
|
ARRAY_REVERSE
|
यह फ़ंक्शन, ARRAY में मौजूद एलिमेंट का क्रम उलट देता है
|
SUM
|
यह फ़ंक्शन, ARRAY में मौजूद सभी NUMERIC वैल्यू का योग दिखाता है.
|
JOIN
|
यह ARRAY में मौजूद एलिमेंट को जोड़कर, STRING वैल्यू बनाता है.
|
ARRAY
सिंटैक्स:
array(values: ANY...) -> ARRAY
ब्यौरा:
यह फ़ंक्शन, दिए गए एलिमेंट से एक अरे बनाता है.
- अगर कोई आर्ग्युमेंट मौजूद नहीं है, तो नतीजे के तौर पर मिले कलेक्शन में उसे
NULLसे बदल दिया जाता है.
उदाहरण:
| values | array(values) |
|---|---|
| () | [] |
| (1, 2, 3) | [1, 2, 3] |
| ("a", 1, true) | ["a", 1, true] |
| (1, null) | [1, null] |
| (1, [2, 3]) | [1, [2, 3]] |
ARRAY_CONCAT
सिंटैक्स:
array_concat(arrays: ARRAY...) -> ARRAY
ब्यौरा:
यह फ़ंक्शन, दो या उससे ज़्यादा ऐरे को एक ही ARRAY में जोड़ता है.
उदाहरण:
| ऐरे | array_concat(arrays) |
|---|---|
| ([1, 2], [3, 4]) | [1, 2, 3, 4] |
| (["a", "b"], ["c"]) | ["a", "b", "c"] |
| ([1], [2], [3]) | [1, 2, 3] |
| ([], [1, 2]) | [1, 2] |
Web
const result = await execute(db.pipeline() .collection("books") .select(field("genre").arrayConcat([field("subGenre")]).as("allGenres")) );
Swift
let result = try await db.pipeline() .collection("books") .select([Field("genre").arrayConcat([Field("subGenre")]).as("allGenres")]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select(field("genre").arrayConcat(field("subGenre")).alias("allGenres")) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("genre").arrayConcat(field("subGenre")).alias("allGenres")) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("genre").array_concat(Field.of("subGenre")).as_("allGenres")) .execute() )
ARRAY_CONTAINS
सिंटैक्स:
array_contains(array: ARRAY, value: ANY) -> BOOLEAN
ब्यौरा:
अगर array में value मौजूद है, तो TRUE दिखाता है. अगर array में value मौजूद नहीं है, तो FALSE दिखाता है.
उदाहरण:
| कलेक्शन | value | array_contains(array, value) |
|---|---|---|
| [1, 2, 3] | 2 | सही |
| [[1, 2], [3]] | [1, 2] | सही |
| [1, null] | शून्य | सही |
| "abc" | कोई भी | गड़बड़ी |
Web
const result = await execute(db.pipeline() .collection("books") .select(field("genre").arrayContains(constant("mystery")).as("isMystery")) );
Swift
let result = try await db.pipeline() .collection("books") .select([Field("genre").arrayContains(Constant("mystery")).as("isMystery")]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select(field("genre").arrayContains("mystery").alias("isMystery")) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("genre").arrayContains("mystery").alias("isMystery")) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("genre").array_contains("mystery").as_("isMystery")) .execute() )
ARRAY_CONTAINS_ALL
सिंटैक्स:
array_contains_all(array: ARRAY, search_values: ARRAY) -> BOOLEAN
ब्यौरा:
अगर सभी search_values, array में मौजूद हैं, तो TRUE दिखाता है. ऐसा न होने पर, FALSE दिखाता है.
उदाहरण:
| कलेक्शन | search_values | array_contains_all(array, search_values) |
|---|---|---|
| [1, 2, 3] | [1, 2] | सही |
| [1, 2, 3] | [1, 4] | गलत |
| [1, null] | [अमान्य] | सही |
| [NaN] | [NaN] | सही |
| [] | [] | सही |
| [1, 2, 3] | [] | सही |
Web
const result = await execute(db.pipeline() .collection("books") .select( field("genre") .arrayContainsAll([constant("fantasy"), constant("adventure")]) .as("isFantasyAdventure") ) );
Swift
let result = try await db.pipeline() .collection("books") .select([ Field("genre") .arrayContainsAll([Constant("fantasy"), Constant("adventure")]) .as("isFantasyAdventure") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( field("genre") .arrayContainsAll(listOf("fantasy", "adventure")) .alias("isFantasyAdventure") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( field("genre") .arrayContainsAll(Arrays.asList("fantasy", "adventure")) .alias("isFantasyAdventure") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select( Field.of("genre") .array_contains_all(["fantasy", "adventure"]) .as_("isFantasyAdventure") ) .execute() )
ARRAY_CONTAINS_ANY
सिंटैक्स:
array_contains_any(array: ARRAY, search_values: ARRAY) -> BOOLEAN
ब्यौरा:
अगर search_values में से कोई भी वैल्यू array में मिलती है, तो TRUE दिखाता है. ऐसा न होने पर, FALSE दिखाता है.
उदाहरण:
| कलेक्शन | search_values | array_contains_any(array, search_values) |
|---|---|---|
| [1, 2, 3] | [4, 1] | सही |
| [1, 2, 3] | [4, 5] | गलत |
| [1, 2, null] | [अमान्य] | सही |
Web
const result = await execute(db.pipeline() .collection("books") .select( field("genre") .arrayContainsAny([constant("fantasy"), constant("nonfiction")]) .as("isMysteryOrFantasy") ) );
Swift
let result = try await db.pipeline() .collection("books") .select([ Field("genre") .arrayContainsAny([Constant("fantasy"), Constant("nonfiction")]) .as("isMysteryOrFantasy") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( field("genre") .arrayContainsAny(listOf("fantasy", "nonfiction")) .alias("isMysteryOrFantasy") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( field("genre") .arrayContainsAny(Arrays.asList("fantasy", "nonfiction")) .alias("isMysteryOrFantasy") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select( Field.of("genre") .array_contains_any(["fantasy", "nonfiction"]) .as_("isMysteryOrFantasy") ) .execute() )
ARRAY_GET
सिंटैक्स:
array_get(array: ARRAY, index: INT64) -> ANY
ब्यौरा:
array में मौजूद, 0 पर आधारित index इंडेक्स वाला एलिमेंट दिखाता है.
- अगर
indexकी वैल्यू नेगेटिव है, तो ऐरे के आखिर से एलिमेंट ऐक्सेस किए जाते हैं. इसमें-1आखिरी एलिमेंट होता है. - अगर
array,ARRAYटाइप का नहीं है, तो फ़ंक्शन, मौजूद न होने वाली वैल्यू दिखाता है. - अगर
indexतय सीमा से बाहर है, तो फ़ंक्शन 'मौजूद नहीं है' वैल्यू दिखाता है. - अगर
index,INT64टाइप का नहीं है, तो फ़ंक्शन गड़बड़ी दिखाता है.
उदाहरण:
| कलेक्शन | इंडेक्स | array_get(array, index) |
|---|---|---|
| [1, 2, 3] | 0 | 1 |
| [1, 2, 3] | -1 | 3 |
| [1, 2, 3] | 3 | अनुपस्थित |
| [1, 2, 3] | -4 | अनुपस्थित |
| "abc" | 0 | अनुपस्थित |
| शून्य | 0 | अनुपस्थित |
Array |
"a" | गड़बड़ी |
Array |
2.0 | गड़बड़ी |
ARRAY_LENGTH
सिंटैक्स:
array_length(array: ARRAY) -> INT64
ब्यौरा:
array में मौजूद एलिमेंट की संख्या दिखाता है.
उदाहरण:
| कलेक्शन | array_length(array) |
|---|---|
| [1, 2, 3] | 3 |
| [] | 0 |
| [1, 1, 1] | 3 |
| [1, null] | 2 |
Web
const result = await execute(db.pipeline() .collection("books") .select(field("genre").arrayLength().as("genreCount")) );
Swift
let result = try await db.pipeline() .collection("books") .select([Field("genre").arrayLength().as("genreCount")]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select(field("genre").arrayLength().alias("genreCount")) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("genre").arrayLength().alias("genreCount")) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("genre").array_length().as_("genreCount")) .execute() )
ARRAY_REVERSE
सिंटैक्स:
array_reverse(array: ARRAY) -> ARRAY
ब्यौरा:
यह दिए गए array को उलट देता है.
उदाहरण:
| कलेक्शन | array_reverse(array) |
|---|---|
| [1, 2, 3] | [3, 2, 1] |
| ["a", "b"] | ["b", "a"] |
| [1, 2, 2, 3] | [3, 2, 2, 1] |
Web
const result = await execute(db.pipeline() .collection("books") .select(field("genre").arrayReverse().as("reversedGenres")) );
Swift
let result = try await db.pipeline() .collection("books") .select([Field("genre").arrayReverse().as("reversedGenres")]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select(field("genre").arrayReverse().alias("reversedGenres")) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("genre").arrayReverse().alias("reversedGenres")) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("genre").array_reverse().as_("reversedGenres")) .execute() )
SUM
सिंटैक्स:
sum(array: ARRAY) -> INT64 | FLOAT64
ब्यौरा:
यह फ़ंक्शन, ARRAY में मौजूद सभी NUMERIC वैल्यू का योग दिखाता है.
- ऐरे में मौजूद नॉन-न्यूमेरिक वैल्यू को अनदेखा किया जाता है.
- अगर ऐरे में मौजूद कोई भी संख्यात्मक वैल्यू
NaNहै, तो फ़ंक्शनNaNदिखाता है. - सरणी में सबसे बड़े संख्यात्मक टाइप के हिसाब से, रिटर्न टाइप तय किया जाता है:
INT64<FLOAT64. - अगर फ़्लोटिंग पॉइंट वैल्यू को जोड़ने से पहले 64-बिट पूर्णांक ओवरफ़्लो हो जाता है, तो गड़बड़ी वाला मान दिखता है. अगर फ़्लोटिंग पॉइंट वैल्यू को जोड़ा जाता है, तो ओवरफ़्लो होने पर नतीजा +/- इनफ़िनिटी होगा.
- अगर ऐरे में कोई भी संख्या मौजूद नहीं है, तो फ़ंक्शन
NULLदिखाता है.
उदाहरण:
| कलेक्शन | sum(array) |
|---|---|
| [1, 2, 3] | 6L |
| [1L, 2L, 3L] | 6L |
| [2000000000, 2000000000] | 4000000000L |
| [10, 20.5] | 30.5 |
| [1, "a", 2] | 3L |
| [INT64.MAX_VALUE, 1] | गड़बड़ी |
| [INT64.MAX_VALUE, 1, -1.0] | गड़बड़ी |
| [INT64.MAX_VALUE, 1.0] | 9.223372036854776e+18 |
JOIN
सिंटैक्स:
join[T <: STRING | BYTES](array: ARRAY<T>, delimiter: T) -> STRING
join[T <: STRING | BYTES](array: ARRAY<T>, delimiter: T, null_text: T) -> STRING
ब्यौरा:
array में मौजूद एलिमेंट को जोड़कर, STRING के तौर पर दिखाता है. array, STRING या BYTES डेटा टाइप का हो सकता है.
array,delimiter, औरnull_textमें मौजूद सभी एलिमेंट एक ही तरह के होने चाहिए. वे सभीSTRINGयाBYTESहोने चाहिए.- अगर
null_textदिया गया है, तोarrayमें मौजूद सभीNULLवैल्यू कोnull_textसे बदल दिया जाता है. - अगर
null_textनहीं दिया गया है, तोarrayमें मौजूदNULLवैल्यू को नतीजे से हटा दिया जाता है.
उदाहरण:
null_text की वैल्यू न दिए जाने पर:
| कलेक्शन | डेलिमिटर | join(array, delimiter) |
|---|---|---|
| ["a", "b", "c"] | "," | "a,b,c" |
| ["a", null, "c"] | "," | "a,c" |
| [b'a', b'b', b'c'] | b',' | b'a,b,c' |
| ["a", b'c'] | "," | गड़बड़ी |
| ["a", "c"] | b',' | गड़बड़ी |
| [b'a', b'c'] | "," | गड़बड़ी |
null_text कब दिया जाता है:
| कलेक्शन | डेलिमिटर | null_text | join(array, delimiter, null_text) |
|---|---|---|---|
| ["a", null, "c"] | "," | "MISSING" | "a,MISSING,c" |
| [b'a', null, b'c'] | b',' | b'NULL' | b'a,NULL,c' |
| [null, "b", null] | "," | "MISSING" | "MISSING,b,MISSING" |
| [b'a', null, null] | b',' | b'NULL' | b'a,NULL,NULL' |
| ["a", null] | "," | b'N' | गड़बड़ी |
| [b'a', null] | b',' | "N" | गड़बड़ी |