คำอธิบาย
นำฟิลด์ออกจากเอกสารที่สร้างขึ้นในขั้นตอนก่อนหน้า
เอกสารที่สร้างขึ้นจะมีฟิลด์ทั้งหมดจากขั้นตอนก่อนหน้า ยกเว้น ฟิลด์ที่ระบุให้นำออก
ตัวอย่าง
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();
Go
snapshot := client.Pipeline().Collection("cities"). RemoveFields(firestore.Fields("population", "location.state")). Execute(ctx)
พฤติกรรม
นำฟิลด์ที่ซ้อนกันออก
ขั้นตอน remove_fields(...) จะใช้ไวยากรณ์ของฟิลด์ที่ซ้อนกัน และจะนำคีย์ออกจากแมป
เช่น หากต้องการนำฟิลด์รัฐที่ซ้อนกันออกจากชุดข้อมูล ให้ทำดังนี้
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(...) ไม่มีอยู่ในเอกสาร
สเตจจะไม่แก้ไขเอกสารสำหรับฟิลด์นั้น ระบบจะยังคงนำฟิลด์อื่นๆ ที่มีอยู่ออก