MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Node, Mongoose:Xóa phần tử json khỏi kết quả truy vấn với xóa

Tôi nghĩ những gì bạn đang đề cập đến vì JSON thực sự là một đối tượng tài liệu Mongoose với các thẻ bạn đã thêm vào câu hỏi của mình. Vì đối tượng đó được đính kèm với nó là "lược đồ", bạn có thể có các quy tắc trong đó, chẳng hạn như trường "bắt buộc" hoặc trường tương tự đang can thiệp vào hoạt động bạn đang cố gắng thực hiện.

Để lấy lại dạng thô của Đối tượng, chỉ cần sử dụng .toObject() phương pháp trên kết quả tài liệu:

Model.findOne({ _id: id}, function(err,doc) {

    var raw = doc.toObject();
    delete raw.element;

    console.log( raw );

});

Tất nhiên, bạn luôn có thể bỏ qua trường không được trả về trong kết quả truy vấn với dạng cơ bản được cung cấp bởi .select() :

Model.findOne({ _id: id}, '-element', function(err,doc) {

    console.log( doc );

});

Một trong hai biểu mẫu sẽ xóa trường cụ thể đó khỏi phản hồi, nhưng nếu bạn có thể muốn kiểm soát kết quả nhiều hơn những gì có thể được cung cấp bởi phép chiếu trường từ .select() sau đó sử dụng .toObject() tạo và thao tác giống như một đối tượng JavaScript thuần túy.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Thiết lập bộ bản sao MongoDB

  2. mongoDB:Tạo một ObjectId cho mỗi phần tử con mới được thêm vào trường mảng

  3. Mongoose và nhiều cơ sở dữ liệu trong một dự án node.js

  4. MongoDB chèn tài liệu hoặc trường gia tăng nếu tồn tại trong mảng

  5. indexoutofboundsexception trong Mongodb java