データの削除
transaction 内で実行される場合を除き、すべての削除操作は Promise を返し、サーバー上でミューテーション(mutation)が適用されると resolve されます。
削除
ドキュメントを削除するには、DocumentReference の delete メソッドを呼び出します。
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}`);
}
パス指定で削除
ドキュメントの特定のプロパティを削除するには、DocumentReference の deleteInPath メソッドを呼び出し、
削除したいプロパティへの 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}`);
}