লজিক্যাল ফাংশন
| নাম | বিবরণ |
AND | একটি লজিক্যাল AND সম্পাদন করে |
OR | একটি লজিক্যাল OR সম্পাদন করে |
XOR | একটি লজিক্যাল XOR সম্পাদন করে |
NOT | একটি লজিক্যাল NOT সম্পাদন করে |
CONDITIONAL | একটি শর্তসাপেক্ষ রাশির উপর ভিত্তি করে শাখা মূল্যায়ন। |
EQUAL_ANY | একটি অ্যারের যেকোনো এলিমেন্টের মান সমান কিনা তা পরীক্ষা করে। |
NOT_EQUAL_ANY | একটি অ্যারের কোনও উপাদানের মান সমান কিনা তা পরীক্ষা করে। |
MAXIMUM | মানগুলির একটি সেটের সর্বোচ্চ মান প্রদান করে |
MINIMUM | মানগুলির একটি সেটের সর্বনিম্ন মান প্রদান করে |
এবং
বাক্য গঠন:
and(x: BOOLEAN...) -> BOOLEAN
বর্ণনা:
দুই বা ততোধিক বুলিয়ান মানের লজিক্যাল AND প্রদান করে।
প্রদত্ত মানগুলির মধ্যে কোনও একটি ABSENT বা NULL হওয়ার কারণে ফলাফল বের করা না গেলে NULL প্রদান করে।
উদাহরণ:
x | y | and(x, y) |
|---|---|---|
TRUE | TRUE | TRUE |
FALSE | TRUE | FALSE |
NULL | TRUE | NULL |
ABSENT | TRUE | NULL |
NULL | FALSE | FALSE |
FALSE | ABSENT | FALSE |
Web
const result = await execute(db.pipeline() .collection("books") .select( and(field("rating").greaterThan(4), field("price").lessThan(10)) .as("under10Recommendation") ) );
সুইফট
let result = try await db.pipeline() .collection("books") .select([ (Field("rating").greaterThan(4) && Field("price").lessThan(10)) .as("under10Recommendation") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( Expression.and(field("rating").greaterThan(4), field("price").lessThan(10)) .alias("under10Recommendation") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( Expression.and( field("rating").greaterThan(4), field("price").lessThan(10) ).alias("under10Recommendation") ) .execute();
পাইথন
from google.cloud.firestore_v1.pipeline_expressions import Field, And result = ( client.pipeline() .collection("books") .select( And( Field.of("rating").greater_than(4), Field.of("price").less_than(10) ).as_("under10Recommendation") ) .execute() )
অথবা
বাক্য গঠন:
or(x: BOOLEAN...) -> BOOLEAN
বর্ণনা:
দুই বা ততোধিক বুলিয়ান মানের লজিক্যাল OR প্রদান করে।
প্রদত্ত মানগুলির মধ্যে কোনও একটি ABSENT বা NULL হওয়ার কারণে ফলাফল বের করা না গেলে NULL প্রদান করে।
উদাহরণ:
x | y | or(x, y) |
|---|---|---|
TRUE | TRUE | TRUE |
FALSE | TRUE | TRUE |
NULL | TRUE | TRUE |
ABSENT | TRUE | TRUE |
NULL | FALSE | NULL |
FALSE | ABSENT | NULL |
Web
const result = await execute(db.pipeline() .collection("books") .select( or(field("genre").equal("Fantasy"), field("tags").arrayContains("adventure")) .as("matchesSearchFilters") ) );
সুইফট
let result = try await db.pipeline() .collection("books") .select([ (Field("genre").equal("Fantasy") || Field("tags").arrayContains("adventure")) .as("matchesSearchFilters") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( Expression.or(field("genre").equal("Fantasy"), field("tags").arrayContains("adventure")) .alias("matchesSearchFilters") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( Expression.or( field("genre").equal("Fantasy"), field("tags").arrayContains("adventure") ).alias("matchesSearchFilters") ) .execute();
পাইথন
from google.cloud.firestore_v1.pipeline_expressions import Field, And, Or result = ( client.pipeline() .collection("books") .select( Or( Field.of("genre").equal("Fantasy"), Field.of("tags").array_contains("adventure"), ).as_("matchesSearchFilters") ) .execute() )
XOR সম্পর্কে
বাক্য গঠন:
xor(x: BOOLEAN...) -> BOOLEAN
বর্ণনা:
দুই বা ততোধিক বুলিয়ান মানের লজিক্যাল XOR প্রদান করে।
প্রদত্ত মানগুলির মধ্যে যদি কোনও একটি ABSENT বা NULL হয়, তাহলে NULL প্রদান করে।
উদাহরণ:
x | y | xor(x, y) |
|---|---|---|
TRUE | TRUE | FALSE |
FALSE | FALSE | FALSE |
FALSE | TRUE | TRUE |
NULL | TRUE | NULL |
ABSENT | TRUE | NULL |
NULL | FALSE | NULL |
FALSE | ABSENT | NULL |
Web
const result = await execute(db.pipeline() .collection("books") .select( xor(field("tags").arrayContains("magic"), field("tags").arrayContains("nonfiction")) .as("matchesSearchFilters") ) );
সুইফট
let result = try await db.pipeline() .collection("books") .select([ (Field("tags").arrayContains("magic") ^ Field("tags").arrayContains("nonfiction")) .as("matchesSearchFilters") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( Expression.xor(field("tags").arrayContains("magic"), field("tags").arrayContains("nonfiction")) .alias("matchesSearchFilters") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( Expression.xor( field("tags").arrayContains("magic"), field("tags").arrayContains("nonfiction") ).alias("matchesSearchFilters") ) .execute();
পাইথন
from google.cloud.firestore_v1.pipeline_expressions import Field, Xor result = ( client.pipeline() .collection("books") .select( Xor( [ Field.of("tags").array_contains("magic"), Field.of("tags").array_contains("nonfiction"), ] ).as_("matchesSearchFilters") ) .execute() )
না
বাক্য গঠন:
not(x: BOOLEAN) -> BOOLEAN
বর্ণনা:
একটি বুলিয়ান মানের লজিক্যাল NOT প্রদান করে।
Web
const result = await execute(db.pipeline() .collection("books") .select( field("tags").arrayContains("nonfiction").not() .as("isFiction") ) );
সুইফট
let result = try await db.pipeline() .collection("books") .select([ (!Field("tags").arrayContains("nonfiction")) .as("isFiction") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( Expression.not( field("tags").arrayContains("nonfiction") ).alias("isFiction") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( Expression.not( field("tags").arrayContains("nonfiction") ).alias("isFiction") ) .execute();
পাইথন
from google.cloud.firestore_v1.pipeline_expressions import Field, Not result = ( client.pipeline() .collection("books") .select(Not(Field.of("tags").array_contains("nonfiction")).as_("isFiction")) .execute() )
শর্তাধীন
বাক্য গঠন:
conditional(condition: BOOLEAN, true_case: ANY, false_case: ANY) -> ANY
বর্ণনা:
যদি condition TRUE তে মূল্যায়ন করা হয়, তাহলে true_case মূল্যায়ন করে এবং ফেরত দেয়।
যদি শর্তটি FALSE , NULL , অথবা ABSENT মান সমাধান করে, তাহলে false_case মূল্যায়ন করে এবং ফেরত পাঠায়।
উদাহরণ:
condition | true_case | false_case | conditional(condition, true_case, false_case) |
|---|---|---|---|
TRUE | ১ লিটার | ০ লিটার | ১ লিটার |
FALSE | ১ লিটার | ০ লিটার | ০ লিটার |
NULL | ১ লিটার | ০ লিটার | ০ লিটার |
ABSENT | ১ লিটার | ০ লিটার | ০ লিটার |
Web
const result = await execute(db.pipeline() .collection("books") .select( field("tags").arrayConcat([ field("pages").greaterThan(100) .conditional(constant("longRead"), constant("shortRead")) ]).as("extendedTags") ) );
সুইফট
let result = try await db.pipeline() .collection("books") .select([ Field("tags").arrayConcat([ ConditionalExpression( Field("pages").greaterThan(100), then: Constant("longRead"), else: Constant("shortRead") ) ]).as("extendedTags") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( field("tags").arrayConcat( Expression.conditional( field("pages").greaterThan(100), constant("longRead"), constant("shortRead") ) ).alias("extendedTags") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( field("tags").arrayConcat( Expression.conditional( field("pages").greaterThan(100), constant("longRead"), constant("shortRead") ) ).alias("extendedTags") ) .execute();
পাইথন
from google.cloud.firestore_v1.pipeline_expressions import ( Field, Constant, Conditional, ) result = ( client.pipeline() .collection("books") .select( Field.of("tags") .array_concat( Conditional( Field.of("pages").greater_than(100), Constant.of("longRead"), Constant.of("shortRead"), ) ) .as_("extendedTags") ) .execute() )
সমান_যেকোনো
বাক্য গঠন:
equal_any(value: ANY, search_space: ARRAY) -> BOOLEAN
বর্ণনা:
যদি value search_space অ্যারেতে থাকে, তাহলে TRUE প্রদান করে।
উদাহরণ:
value | search_space | equal_any(value, search_space) |
|---|---|---|
| ০ লিটার | [১ লিটার, ২ লিটার, ৩ লিটার] | FALSE |
| ২ লিটার | [১ লিটার, ২ লিটার, ৩ লিটার] | TRUE |
NULL | [১ লিটার, ২ লিটার, ৩ লিটার] | FALSE |
NULL | [১লিটার, NULL ] | TRUE |
ABSENT | [১লিটার, NULL ] | FALSE |
| NaN সম্পর্কে | [১লিটার, নাএন, ৩লিটার] | TRUE |
Web
const result = await execute(db.pipeline() .collection("books") .select( field("genre").equalAny(["Science Fiction", "Psychological Thriller"]) .as("matchesGenreFilters") ) );
সুইফট
let result = try await db.pipeline() .collection("books") .select([ Field("genre").equalAny(["Science Fiction", "Psychological Thriller"]) .as("matchesGenreFilters") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( field("genre").equalAny(listOf("Science Fiction", "Psychological Thriller")) .alias("matchesGenreFilters") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( field("genre").equalAny(Arrays.asList("Science Fiction", "Psychological Thriller")) .alias("matchesGenreFilters") ) .execute();
পাইথন
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select( Field.of("genre") .equal_any(["Science Fiction", "Psychological Thriller"]) .as_("matchesGenreFilters") ) .execute() )
সমান নয়
বাক্য গঠন:
not_equal_any(value: ANY, search_space: ARRAY) -> BOOLEAN
বর্ণনা:
যদি value search_space অ্যারেতে না থাকে, তাহলে TRUE প্রদান করে।
উদাহরণ:
value | search_space | not_equal_any(value, search_space) |
|---|---|---|
| ০ লিটার | [১ লিটার, ২ লিটার, ৩ লিটার] | TRUE |
| ২ লিটার | [১ লিটার, ২ লিটার, ৩ লিটার] | FALSE |
NULL | [১ লিটার, ২ লিটার, ৩ লিটার] | TRUE |
NULL | [১লিটার, NULL ] | FALSE |
ABSENT | [১লিটার, NULL ] | TRUE |
| NaN সম্পর্কে | [১লিটার, নাএন, ৩লিটার] | FALSE |
Web
const result = await execute(db.pipeline() .collection("books") .select( field("author").notEqualAny(["George Orwell", "F. Scott Fitzgerald"]) .as("byExcludedAuthors") ) );
সুইফট
let result = try await db.pipeline() .collection("books") .select([ Field("author").notEqualAny(["George Orwell", "F. Scott Fitzgerald"]) .as("byExcludedAuthors") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( field("author").notEqualAny(listOf("George Orwell", "F. Scott Fitzgerald")) .alias("byExcludedAuthors") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( field("author").notEqualAny(Arrays.asList("George Orwell", "F. Scott Fitzgerald")) .alias("byExcludedAuthors") ) .execute();
পাইথন
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select( Field.of("author") .not_equal_any(["George Orwell", "F. Scott Fitzgerald"]) .as_("byExcludedAuthors") ) .execute() )
সর্বাধিক
বাক্য গঠন:
maximum(x: ANY...) -> ANY
maximum(x: ARRAY) -> ANY
বর্ণনা:
x মানের একটি সিরিজে সর্বাধিক নন- NULL , নন- ABSENT মান প্রদান করে।
যদি কোন নন- NULL , নন- ABSENT মান না থাকে, তাহলে NULL প্রদান করা হয়।
যদি একাধিক সর্বোচ্চ সমতুল্য মান থাকে, তাহলে ঐ মানগুলির যেকোনো একটি ফেরত দেওয়া যেতে পারে। মান প্রকারের ক্রমবিন্যাস নথিভুক্ত ক্রম অনুসরণ করে।
উদাহরণ:
x | y | maximum(x, y) |
|---|---|---|
FALSE | TRUE | TRUE |
FALSE | -১০ লিটার | -১০ লিটার |
| ০.০ | -৫ লিটার | ০.০ |
| "ফু" | "বার" | "ফু" |
| "ফু" | ["ফু"] | ["ফু"] |
ABSENT | ABSENT | NULL |
NULL | NULL | NULL |
Web
const result = await execute(db.pipeline() .collection("books") .aggregate(field("price").maximum().as("maximumPrice")) );
সুইফট
let result = try await db.pipeline() .collection("books") .select([ Field("rating").logicalMaximum([1]).as("flooredRating") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( field("rating").logicalMaximum(1).alias("flooredRating") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( field("rating").logicalMaximum(1).alias("flooredRating") ) .execute();
পাইথন
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("rating").logical_maximum(1).as_("flooredRating")) .execute() )
ন্যূনতম
বাক্য গঠন:
minimum(x: ANY...) -> ANY
minimum(x: ARRAY) -> ANY
বর্ণনা:
x মানের একটি সিরিজে সর্বনিম্ন নন- NULL , নন- ABSENT মান প্রদান করে।
যদি কোন নন- NULL , নন- ABSENT মান না থাকে, তাহলে NULL প্রদান করা হয়।
যদি একাধিক ন্যূনতম সমতুল্য মান থাকে, তাহলে ঐ মানগুলির যেকোনো একটি ফেরত দেওয়া যেতে পারে। মান প্রকারের ক্রমবিন্যাস নথিভুক্ত ক্রম অনুসরণ করে।
উদাহরণ:
x | y | minimum(x, y) |
|---|---|---|
FALSE | TRUE | FALSE |
FALSE | -১০ লিটার | FALSE |
| ০.০ | -৫ লিটার | -৫ লিটার |
| "ফু" | "বার" | "বার" |
| "ফু" | ["ফু"] | "ফু" |
ABSENT | ABSENT | NULL |
NULL | NULL | NULL |
Web
const result = await execute(db.pipeline() .collection("books") .aggregate(field("price").minimum().as("minimumPrice")) );
সুইফট
let result = try await db.pipeline() .collection("books") .select([ Field("rating").logicalMinimum([5]).as("cappedRating") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( field("rating").logicalMinimum(5).alias("cappedRating") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( field("rating").logicalMinimum(5).alias("cappedRating") ) .execute();
পাইথন
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("rating").logical_minimum(5).as_("cappedRating")) .execute() )