メインコンテンツまでスキップ

データの削除

transaction 内で実行される場合を除き、すべての削除操作は Promise を返し、サーバー上でミューテーション(mutation)が適用されると resolve されます。

削除

ドキュメントを削除するには、DocumentReferencedelete メソッドを呼び出します。

Client code
const userRef = squid.collection<User>('users').doc('existing_user_id');

try {
await userRef.delete();
console.log('User deleted successfully');
} catch (error) {
console.error(`Failed to delete user ${error}`);
}

複数削除

複数のドキュメントをバッチで削除するには、deleteMany メソッドを使用します。deleteMany は、ドキュメントまたはドキュメント ID の配列をパラメータとして受け取ります。

Client code
const staleDocs = await squid.collection<User>('users').query().eq('pending-delete', true);

try {
await squid.collection<User>('users').deleteMany(staleDocs);
console.log('users successfully deleted');
} catch (error) {
console.error(`Failed to delete users ${error}`);
}

パス指定で削除

ドキュメントの特定のプロパティを削除するには、DocumentReferencedeleteInPath メソッドを呼び出し、 削除したいプロパティへの path を渡します。パス内でネストされたプロパティを指定するには、ドット記法を使用します。

Client code
const userRef = squid.collection<User>('users').doc('existing_user_id');

try {
await userRef.deleteInPath('contact.email');
console.log('User email deleted successfully');
} catch (error) {
console.error(`Failed to delete user email ${error}`);
}