Referans İşlevleri
REFERENCE türü, veritabanındaki (veya diğer veritabanlarındaki) diğer dokümanlara yönelik bir "işaretçi" görevi görür. Aşağıdaki işlevler, sorgu yürütme sırasında bu türü değiştirmenize olanak tanır.
| Ad | Açıklama |
COLLECTION_ID
|
Belirtilen referanstaki yaprak koleksiyonunun kimliğini döndürür. |
DOCUMENT_ID
|
Belirtilen referanstaki belgenin kimliğini döndürür. |
PARENT
|
Üst referansı döndürür. |
REFERENCE_SLICE
|
Belirtilen referanstan segmentlerin bir alt kümesini döndürür. |
COLLECTION_ID
Söz dizimi:
collection_id(ref: REFERENCE) -> STRING
Açıklama:
Belirtilen REFERENCE öğesinin alt koleksiyon kimliğini döndürür.
Örnekler:
ref |
collection_id(ref) |
|---|---|
users/user1 |
"users" |
users/user1/posts/post1 |
"posts" |
DOCUMENT_ID
Söz dizimi:
document_id(ref: REFERENCE) -> ANY
Açıklama:
Belirtilen REFERENCE öğesinin doküman kimliğini döndürür.
Örnekler:
ref |
document_id(ref) |
|---|---|
users/user1 |
"user1" |
users/user1/posts/post1 |
"post1" |
PARENT
Söz dizimi:
parent(ref: REFERENCE) -> REFERENCE
Açıklama:
Belirtilen başvurunun üst öğesini REFERENCE veya başvuru zaten kök başvuruyorsa NULL değerini döndürür.
Örnekler:
ref |
parent(ref) |
|---|---|
/ |
NULL |
users/user1 |
/ |
users/user1/posts/post1 |
users/user1 |
REFERENCE_SLICE
Söz dizimi:
reference_slice(ref: REFERENCE, offset: INT, length: INT) -> REFERENCE
Açıklama:
REFERENCE, (collection_id, document_id) demetlerinin bir listesidir ve bu, array_slice(...) gibi bu listenin görünümünü elde etmenizi sağlar.
Belirtilen ref'nin segmentlerinin bir alt kümesi olan yeni bir REFERENCE döndürür.
offset: Dilimin başlangıç dizini (0 tabanlı). Negatifse referansın sonundan itibaren bir uzaklıktır.length: Dilime dahil edilecek segment sayısı.
Örnekler:
ref |
offset |
length |
reference_slice(ref, offset, length) |
|---|---|---|---|
a/1/b/2/c/3 |
1L | 2L | b/2/c/3 |
a/1/b/2/c/3 |
0L | 2L | a/1/b/2 |
a/1/b/2/c/3 |
-2L | 2L | c/3 |