Hàm so sánh
| Tên | Mô tả |
EQUAL
|
So sánh bằng |
GREATER_THAN
|
So sánh lớn hơn |
GREATER_THAN_OR_EQUAL
|
Phép so sánh lớn hơn hoặc bằng |
LESS_THAN
|
Nhỏ hơn so với |
LESS_THAN_OR_EQUAL
|
Phép so sánh nhỏ hơn hoặc bằng |
NOT_EQUAL
|
Phép so sánh không bằng |
CMP
|
So sánh chung |
EQUAL
Cú pháp:
equal(x: ANY, y: ANY) -> BOOLEAN
Ví dụ:
x |
y |
equal(x, y) |
|---|---|---|
| 1 l | 1 l | TRUE |
| 1.0 | 1 l | TRUE |
| -1 | 1 l | FALSE |
| NaN (Không phải số) | NaN (Không phải số) | TRUE |
NULL |
NULL |
TRUE |
NULL |
ABSENT |
FALSE |
Nội dung mô tả:
Trả về TRUE nếu x và y bằng nhau, nếu không thì trả về FALSE.
Node.js
const result = await db.pipeline() .collection("books") .select(field("rating").equal(5).as("hasPerfectRating")) .execute();
Web
const result = await execute(db.pipeline() .collection("books") .select(field("rating").equal(5).as("hasPerfectRating")) );
Swift
let result = try await db.pipeline() .collection("books") .select([Field("rating").equal(5).as("hasPerfectRating")]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select(field("rating").equal(5).alias("hasPerfectRating")) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("rating").equal(5).alias("hasPerfectRating")) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("rating").equal(5).as_("hasPerfectRating")) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select(equal(field("rating"), 5).as("hasPerfectRating")) .execute() .get();
Bắt đầu
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.Equal(firestore.FieldOf("rating"), 5).As("hasPerfectRating"), )). Execute(ctx)
GREATER_THAN
Cú pháp:
greater_than(x: ANY, y: ANY) -> BOOLEAN
Nội dung mô tả:
Trả về TRUE nếu x lớn hơn y, nếu không thì trả về FALSE.
Nếu không thể so sánh x và y, hàm sẽ trả về FALSE.
Ví dụ:
x |
y |
greater_than(x, y) |
|---|---|---|
| 1 l | 0,0 | TRUE |
| 1 l | 1 l | FALSE |
| 1 l | 2L | FALSE |
| "foo" | 0L | FALSE |
| 0L | "foo" | FALSE |
| NaN (Không phải số) | 0L | FALSE |
| 0L | NaN (Không phải số) | FALSE |
NULL |
NULL |
FALSE |
Node.js
const result = await db.pipeline() .collection("books") .select(field("rating").greaterThan(4).as("hasHighRating")) .execute();
Web
const result = await execute(db.pipeline() .collection("books") .select(field("rating").greaterThan(4).as("hasHighRating")) );
Swift
let result = try await db.pipeline() .collection("books") .select([Field("rating").greaterThan(4).as("hasHighRating")]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select(field("rating").greaterThan(4).alias("hasHighRating")) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("rating").greaterThan(4).alias("hasHighRating")) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("rating").greater_than(4).as_("hasHighRating")) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select(greaterThan(field("rating"), 4).as("hasHighRating")) .execute() .get();
Bắt đầu
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.GreaterThan(firestore.FieldOf("rating"), 4).As("hasHighRating"), )). Execute(ctx)
GREATER_THAN_OR_EQUAL
Cú pháp:
greater_than_or_equal(x: ANY, y: ANY) -> BOOLEAN
Nội dung mô tả:
Trả về TRUE nếu x lớn hơn hoặc bằng y, nếu không thì trả về FALSE.
Nếu không thể so sánh x và y, hàm sẽ trả về FALSE.
Ví dụ:
x |
y |
greater_than_or_equal(x, y) |
|---|---|---|
| 1 l | 0,0 | TRUE |
| 1 l | 1 l | TRUE |
| 1 l | 2L | FALSE |
| "foo" | 0L | FALSE |
| 0L | "foo" | FALSE |
| NaN (Không phải số) | 0L | FALSE |
| 0L | NaN (Không phải số) | FALSE |
NULL |
NULL |
TRUE |
Node.js
const result = await db.pipeline() .collection("books") .select(field("published").greaterThanOrEqual(1900).as("publishedIn20thCentury")) .execute();
Web
const result = await execute(db.pipeline() .collection("books") .select(field("published").greaterThanOrEqual(1900).as("publishedIn20thCentury")) );
Swift
let result = try await db.pipeline() .collection("books") .select([Field("published").greaterThanOrEqual(1900).as("publishedIn20thCentury")]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select(field("published").greaterThanOrEqual(1900).alias("publishedIn20thCentury")) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("published").greaterThanOrEqual(1900).alias("publishedIn20thCentury")) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select( Field.of("published") .greater_than_or_equal(1900) .as_("publishedIn20thCentury") ) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select(greaterThanOrEqual(field("published"), 1900).as("publishedIn20thCentury")) .execute() .get();
Bắt đầu
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.GreaterThanOrEqual(firestore.FieldOf("published"), 1900).As("publishedIn20thCentury"), )). Execute(ctx)
LESS_THAN
Cú pháp:
less_than(x: ANY, y: ANY) -> BOOLEAN
Nội dung mô tả:
Trả về TRUE nếu x nhỏ hơn y, nếu không thì trả về FALSE.
Nếu không thể so sánh x và y, hàm sẽ trả về FALSE.
Ví dụ:
x |
y |
less_than(x, y) |
|---|---|---|
| 1 l | 0,0 | FALSE |
| 1 l | 1 l | FALSE |
| 1 l | 2L | TRUE |
| "foo" | 0L | FALSE |
| 0L | "foo" | FALSE |
| NaN (Không phải số) | 0L | FALSE |
| 0L | NaN (Không phải số) | FALSE |
NULL |
NULL |
FALSE |
Node.js
const result = await db.pipeline() .collection("books") .select(field("published").lessThan(1923).as("isPublicDomainProbably")) .execute();
Web
const result = await execute(db.pipeline() .collection("books") .select(field("published").lessThan(1923).as("isPublicDomainProbably")) );
Swift
let result = try await db.pipeline() .collection("books") .select([Field("published").lessThan(1923).as("isPublicDomainProbably")]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select(field("published").lessThan(1923).alias("isPublicDomainProbably")) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("published").lessThan(1923).alias("isPublicDomainProbably")) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("published").less_than(1923).as_("isPublicDomainProbably")) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select(lessThan(field("published"), 1923).as("isPublicDomainProbably")) .execute() .get();
Bắt đầu
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.LessThan(firestore.FieldOf("published"), 1923).As("isPublicDomainProbably"), )). Execute(ctx)
LESS_THAN_OR_EQUAL
Cú pháp:
less_than_or_equal(x: ANY, y: ANY) -> BOOLEAN
Nội dung mô tả:
Trả về TRUE nếu x nhỏ hơn hoặc bằng y, nếu không thì trả về FALSE.
Nếu không thể so sánh x và y, hàm sẽ trả về FALSE.
Ví dụ:
x |
y |
less_than(x, y) |
|---|---|---|
| 1 l | 0,0 | FALSE |
| 1 l | 1 l | TRUE |
| 1 l | 2L | TRUE |
| "foo" | 0L | FALSE |
| 0L | "foo" | FALSE |
| NaN (Không phải số) | 0L | FALSE |
| 0L | NaN (Không phải số) | FALSE |
NULL |
NULL |
TRUE |
Node.js
const result = await db.pipeline() .collection("books") .select(field("rating").lessThanOrEqual(2).as("hasBadRating")) .execute();
Web
const result = await execute(db.pipeline() .collection("books") .select(field("rating").lessThanOrEqual(2).as("hasBadRating")) );
Swift
let result = try await db.pipeline() .collection("books") .select([Field("rating").lessThanOrEqual(2).as("hasBadRating")]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select(field("rating").lessThanOrEqual(2).alias("hasBadRating")) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("rating").lessThanOrEqual(2).alias("hasBadRating")) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("rating").less_than_or_equal(2).as_("hasBadRating")) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select(lessThanOrEqual(field("rating"), 2).as("hasBadRating")) .execute() .get();
Bắt đầu
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.LessThanOrEqual(firestore.FieldOf("rating"), 2).As("hasBadRating"), )). Execute(ctx)
NOT_EQUAL
Cú pháp:
not_equal(x: ANY, y: ANY) -> BOOLEAN
Nội dung mô tả:
Trả về TRUE nếu x không bằng y, nếu không thì trả về FALSE.
Ví dụ:
x |
y |
not_equal(x, y) |
|---|---|---|
| 1 l | 1 l | FALSE |
| 1.0 | 1 l | FALSE |
| -1 | 1 l | TRUE |
| NaN (Không phải số) | 0L | TRUE |
| NaN (Không phải số) | NaN (Không phải số) | FALSE |
NULL |
NULL |
FALSE |
NULL |
ABSENT |
TRUE |
Node.js
const result = await db.pipeline() .collection("books") .select(field("title").notEqual("1984").as("not1984")) .execute();
Web
const result = await execute(db.pipeline() .collection("books") .select(field("title").notEqual("1984").as("not1984")) );
Swift
let result = try await db.pipeline() .collection("books") .select([Field("title").notEqual("1984").as("not1984")]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select(field("title").notEqual("1984").alias("not1984")) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("title").notEqual("1984").alias("not1984")) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("title").not_equal("1984").as_("not1984")) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select(notEqual(field("title"), "1984").as("not1984")) .execute() .get();
Bắt đầu
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.NotEqual(firestore.FieldOf("title"), "1984").As("not1984"), )). Execute(ctx)
LHT
Cú pháp:
cmp(x: ANY, y: ANY) -> Int64
Nội dung mô tả:
So sánh x và y, trả về:
1Lnếuxlớn hơny.-1Lnếuxnhỏ hơny.- Nếu không thì là
0L.
Không giống như các hàm so sánh khác, hàm cmp(...) hoạt động trên nhiều loại,
theo cùng thứ tự được sử dụng trong giai đoạn sort(...). Hãy xem phần thứ tự loại giá trị để biết cách sắp xếp giá trị theo loại.
Ví dụ:
x |
y |
cmp(x, y) |
|---|---|---|
| 1 l | 1 l | 0L |
| 1.0 | 1 l | 0L |
| -1 | 1 l | -1L |
| 42,5D | "foo" | -1L |
NULL |
NULL |
0L |
NULL |
ABSENT |
0L |