我写了这个非常好的模型/模式,因为有人告诉我这是这样做的方法:
var Schema = mongoose.Schema;
var bookingSchema = new Schema({
_id: String, // Unique booking ID
property: String, // Property ID --> property.._id
checkin: Number, // Check in Date
checkout: Number, // Check out Date
priceNight: Number, // Price pr night in THB
priceReservation: Number, // Reservation Fee in THB
priceSecurity: Number, // Safety Deposit in THB
arrival: String, // When will tenant arrive
departure: String // When will tenant depart
});
module.exports = mongoose.model('bookingModel', bookingSchema, 'booking');
然后我认为这象征着你的mongodb表/集合的结构,但在我看来它完全没有区别天气我写了一个很好的正确模型或只是创建一个名为whatever:string
的字段。
如果mongodb dosnt关心你的漂亮结构,那么制作好模特的重点是什么?
现在我想创建一个新的预订,所以我会假设我可以使用我的漂亮模型输入数据,然后使用我的漂亮模型创建预订。
var bookingModel = require('../models/bookingModel');
var bookingRecord = mongoose.model('bookingModel');
console.log("bookingRecord: " + bookingRecord);
console.log("bookingRecord: " + JSON.stringify(bookingRecord, null, 4));
bookingRecord.property = "WAT-606"
console.log("bookingRecord: " + bookingRecord);
console.log("bookingRecord: " + JSON.stringify(bookingRecord, null, 4));
但我得到的是以下输出:
bookingRecord: function model(doc, fields, skipId) {
if (!(this instanceof model)) {
return new model(doc, fields, skipId);
}
Model.call(this, doc, fields, skipId);
}
bookingRecord: undefined
bookingRecord: function model(doc, fields, skipId) {
if (!(this instanceof model)) {
return new model(doc, fields, skipId);
}
Model.call(this, doc, fields, skipId);
}
bookingRecord: undefined
再一次,关于编写这些漂亮模型的重点是什么?
我阅读了很多文档,但我觉得当mongodb无论如何忽略它们时,它们都没有解释这些模型和模式是什么有用的。