フィールドを削除

説明

前のステージで生成されたドキュメントのフィールドを削除します。

生成されたドキュメントには、削除対象として指定されたフィールドを除く、前のステージのすべてのフィールドが含まれています。

構文

Node.js

const results = await db.pipeline()
  .collection("/cities")
  .removeFields('population', 'location.state')
  .execute();

クライアントの例

Node.js
const results = await db.pipeline()
  .collection("cities")
  .removeFields("population", "location.state")
  .execute();

Web

const results = await execute(db.pipeline()
  .collection("cities")
  .removeFields("population", "location.state"));
Swift
let results = try await db.pipeline()
  .collection("cities")
  .removeFields(["population", "location.state"])
  .execute()

Kotlin

val results = db.pipeline()
    .collection("cities")
    .removeFields("population", "location.state")
    .execute()

Java

Task<Pipeline.Snapshot> results = db.pipeline()
        .collection("cities")
        .removeFields("population", "location.state")
        .execute();
Python
results = (
    client.pipeline()
    .collection("cities")
    .remove_fields("population", "location.state")
    .execute()
)
Java
Pipeline.Snapshot results =
    firestore
        .pipeline()
        .collection("cities")
        .removeFields("population", "location.state")
        .execute()
        .get();

動作

ネストされたフィールドを削除する

remove_fields ステージはネストされたフィールド構文に従って、マップからキーを削除します。

たとえば、ネストされた state フィールドをデータセットから削除するには、次のようにします。

Node.js

await db.collection('cities').doc('SF').set({name: 'San Francisco', location: {country: 'USA', state: 'California'}});
await db.collection('cities').doc('TO').set({name: 'Toronto', location: {country: 'Canada', province: 'Ontario'}});

次のパイプラインを使用できます。

Node.js

const results = await db.pipeline()
  .collection("/cities")
  .removeFields('location.state')
  .execute();

次のドキュメントが生成されます。

{name: 'San Francisco', location: {country: 'USA'}}
{name: 'Toronto', location: {country: 'Canada', province: 'Ontario'}}

配列内の要素の削除はサポートされていません。

存在しないフィールドから削除する

remove_fields で指定されたネストされたフィールドまたはトップレベル フィールドがドキュメントに存在しない場合、このステージでは、このフィールドのドキュメントは編集されません。他の既存のフィールドは引き続き削除されます。