설명
사전 정의된 고정 문서 세트를 조회하여 문서를 반환합니다.
단계는 하나 이상의 문서를 입력으로 가져와야 하며 경로가 중복된 문서를 포함할 수 없습니다. 참조된 문서가 없으면 해당 문서 경로에 대한 결과가 생성되지 않습니다.
이 단계는 Firestore의 batchGet과 유사하게 작동하며 일괄 작업 후 사후 필터링 단계를 실행하는 대신 결과를 직접 필터링할 수 있습니다.
구문
Node.js
const results = await db.pipeline()
.documents(
db.collection("cities").doc("SF"),
db.collection("cities").doc("NY"))
.execute();
클라이언트 예시
Web
const results = await execute(db.pipeline() .documents([ doc(db, "cities", "SF"), doc(db, "cities", "DC"), doc(db, "cities", "NY") ]) );
Swift
let results = try await db.pipeline() .documents([ db.collection("cities").document("SF"), db.collection("cities").document("DC"), db.collection("cities").document("NY") ]).execute()
Kotlin
val results = db.pipeline() .documents( db.collection("cities").document("SF"), db.collection("cities").document("DC"), db.collection("cities").document("NY") ).execute()
Java
Task<Pipeline.Snapshot> results = db.pipeline() .documents( db.collection("cities").document("SF"), db.collection("cities").document("DC"), db.collection("cities").document("NY") ).execute();
Python
results = ( client.pipeline() .documents( client.collection("cities").document("SF"), client.collection("cities").document("DC"), client.collection("cities").document("NY"), ) .execute() )
자바
Pipeline.Snapshot results = firestore .pipeline() .documents( firestore.collection("cities").document("SF"), firestore.collection("cities").document("DC"), firestore.collection("cities").document("NY")) .execute() .get();
동작
documents 단계를 사용하려면 파이프라인의 첫 번째 단계로 표시되어야 합니다.
documents 단계에서 반환되는 문서의 순서는 불안정하므로 이에 의존해서는 안 됩니다. 후속 정렬 단계를 사용하여 결정적 순서를 가져올 수 있습니다.
예를 들어 다음 문서의 경우:
Node.js
await db.collection('cities').doc('SF').set({name: 'San Francsico', state: 'California'});
await db.collection('cities').doc('NYC').set({name: 'New York City', state: 'New York'});
await db.collection('cities').doc('CHI').set({name: 'Chicago', state: 'Illinois'});
documents 단계를 사용하여 SF 및 NYC 문서만 검색한 다음 이름의 오름차순으로 정렬할 수 있습니다.
Node.js
const results = await db.pipeline()
.documents(
db.collection('cities').doc('SF'),
db.collection('cities').doc('NYC'))
.sort(field("name").ascending())
.execute();
이 쿼리는 다음과 같은 문서를 생성합니다.
{name: 'New York City', state: 'New York'}
{name: 'San Francsico', state: 'California'}