Tôi nghĩ rằng cách tốt nhất là không xác định vì tôi sẽ đề nghị không bao gồm khóa này hoàn toàn. Mongo không hoạt động như SQL, nơi bạn phải có ít nhất null trong mỗi cột. Nếu bạn không có giá trị, chỉ cần không bao gồm khóa. Sau đó, nếu bạn thực hiện truy vấn cho tất cả các tài liệu, nơi khóa này không tồn tại, nó sẽ hoạt động chính xác, ngược lại thì không. Ngoài ra, nếu bạn không sử dụng khóa, bạn sẽ tiết kiệm được một ít dung lượng ổ đĩa. Làm điều này là cách chính xác trong Mongo.
function deleteEmpty (v) {
if(v==null){
return undefined;
}
return v;
}
var UserSchema = new Schema({
email: { type: String, set: deleteEmpty }
});