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

Lỗi Mongoose:Không thể cập nhật __v và __v cùng một lúc

Tôi khuyên bạn nên đặt logic xóa liên quan _id vào tệp định nghĩa lược đồ mô hình mongoose của mình:

var UserSchema = new mongoose.Schema(fieldDefinitions);

// Ensure virtual fields are serialised.
UserSchema.set('toJSON', {
    virtuals: true
});

// Ensure able to see virtual fields output when using console.log(obj)
UserSchema.set('toObject', {
    virtuals: true
});

UserSchema.options.toJSON = {

    transform : function(doc, ret, options) {

        console.log('--> ' + require('util').inspect( ret._id.id ));

        ret.id = ret._id.id;
        delete ret._id;
        delete ret.__v;

        return ret;
    },
    virtuals: true
};

Sau đó, trong lệnh gọi lại của bạn, hãy thực thi tớiJSON:

var processedJson = resultDoc.toJSON();

để truy xuất phiên bản đã xử lý ẩn một cách độc đáo logic có thể sử dụng lại.
LƯU Ý:toJSON () cũng được thực thi một cách kỳ diệu bởi JSON.stringify ()




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Truy vấn MongoDB chậm bất hợp lý, mặc dù truy vấn đơn giản và được căn chỉnh cho phù hợp với chỉ mục

  2. SyntaxError:id thuộc tính không hợp lệ - MongoDB

  3. Làm thế nào để một người đại diện cho các trường MongoDB GeoJSON trong một giản đồ Mongoose?

  4. mongoengine - Bỏ qua các trường bổ sung để xác thực giản đồ

  5. Làm cách nào để lấy tất cả id tài liệu trong MongoDB?