Tôi đã xóa một số trường khỏi định nghĩa tài liệu. Tôi muốn xóa trường này trên tất cả các tài liệu của bộ sưu tập. Tôi làm nó như thế nào?Làm thế nào để loại bỏ các trường không được chấp nhận trong Mongo?
Trả lời
Hãy thử:
db.collection.update(
{ '<field>': { '$exists': true } }, // Query
{ '$unset': { '<field>': true } }, // Update
false, // Upsert
true // Multi-update
)
nơi field
là trường không được hỗ của bạn và collection
là bộ sưu tập nó đã bị xóa khỏi.
Lệnh cập nhật chung có dạng db.collection.update(criteria, objNew, upsert, multi)
. false
và true
đối số dấu ngắt tắt chế độ upsert và cho phép cập nhật nhiều để truy vấn cập nhật tất cả tài liệu trong bộ sưu tập (không chỉ kết quả đầu tiên).
Cập nhật cho MongoDB 2.2+
Bây giờ bạn có thể cung cấp một đối tượng JSON thay vì lập luận vị trí cho upsert và đa.
db.collection.update(
{ '<field>': { '$exists': true } }, // Query
{ '$unset': { '<field>': true } }, // Update
{ 'multi': true } // Options
)
Giá trị được chỉ định cho giá trị của trường trong câu lệnh $ unset (tức là 1 ở đây) không ảnh hưởng đến hoạt động. [$ unset operator] (http://docs.mongodb.org/manual/reference/operator/unset/#_S_unset) – Xiao
chỉ làm một cái gì đó như thế này
db.people.find().forEach(function(x) {
delete x.badField;
db.people.save(x);
})
oooh các $unset
câu trả lời ai đó đã cho sử dụng update()
here là khá tuyệt vời quá.
Thx, Jamund. Cách tiếp cận của bạn cũng hoạt động. –
Không thể chấp nhận 2 câu trả lời. Vì vậy, chỉ cần upvoted nó. –
Cảm ơn, rất tốt! –
- 1. Không được chấp nhận: Chức năng tách() không được chấp nhận. Làm thế nào để sửa lỗi này?
- 2. Bỏ qua Loại cảnh báo không được chấp nhận trên Tuyên bố nhập
- 3. xsd: loại phần tử boolean chấp nhận "true" nhưng không chấp nhận "True". Làm thế nào tôi có thể làm cho nó chấp nhận nó?
- 4. Các loại được chấp nhận để sử dụng làm khóa trong HashTable
- 5. TWTweetComposeViewController không được chấp nhận trong IOS6
- 6. Làm thế nào để bạn đánh dấu mã là không được chấp nhận trong Go?
- 7. Làm cách nào để thay thế set_magic_quotes_runtime không được chấp nhận trong php?
- 8. Làm thế nào để thay thế BlobBuilder không được chấp nhận bằng hàm tạo Blob mới?
- 9. initWithContentsOfFile Không được chấp nhận
- 10. getch không được chấp nhận
- 11. Các loại có thể chấp nhận trong các hàm Numeric.AD
- 12. Enum.ToString() không được chấp nhận?
- 13. setFont Không được chấp nhận?
- 14. Làm thế nào để loại bỏ tất cả các trường hợp tinymce lúc khởi động?
- 15. Làm thế nào để loại bỏ các menu con MenuStrip?
- 16. Làm thế nào để loại bỏ các đề nghị hoàn
- 17. Làm thế nào để loại bỏ các con trỏ void
- 18. RKResponseDescriptor trong RESTKit không được chấp nhận
- 19. Làm thế nào để loại bỏ elasticsearch?
- 20. Làm thế nào để loại bỏ AspxAutoDetectCookieSupport
- 21. Làm thế nào để loại bỏ trường ID dư thừa trong bảng ManyToMany được tạo tự động trong Django?
- 22. Xử lý android.text.ClipboardManager không được chấp nhận
- 23. jQuery: Làm thế nào để loại bỏ các tooltip tipsy?
- 24. Làm thế nào để chỉ chấp nhận các bản vá được chọn với git svn?
- 25. Làm thế nào để loại bỏ trường hợp kiểm tra nhạy cảm trong SQL Server 2008?
- 26. Tại sao các trường hợp không có danh sách tham số không được chấp nhận?
- 27. Bỏ chặn một Winsock được chấp nhận() Gọi
- 28. Thay thế không được chấp nhận <: <Chứng thực loại khai man trong Scala 2.10
- 29. devise.registrations.reasons trong các tệp yml không được chấp nhận?
- 30. TYPO3: làm thế nào để ngăn chặn cảnh báo không được chấp nhận?
Xem [câu hỏi liên quan chặt chẽ này] (http://stackoverflow.com/questions/4987289/how-to-remove-column-from-child-collection) – Cameron