我正在使用MongoDB在Yeoman Express MVC生成器上构建一个简单的REST应用程序。
这是我的MongoDB / Mongoose模型(使用完整的update.js
模型更新):
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
var UpdateSchema = new Schema({
title: String,
text: String,
authors: String,
url: String,
imageUrl: String,
dateCreated: { type: Date, default: Date.now },
reloadNeeded: { type: Boolean, default: true }
});
mongoose.model('Update', UpdateSchema);
这是Mongo客户端中的数据:
> db.updates.find();
{ "_id" : ObjectId("5476453f8920d05ecdef4eec"), "title" : "Hello World", "text" : "yoda yoda" }
{ "_id" : ObjectId("547653748920d05ecdef4eed"), "title" : "Hihi", "text" : "mookie" }
这是我的Express应用程序的JSON输出:
[
{"_id":"5476453f8920d05ecdef4eec","title":"Hello World","text":"yoda yoda","reloadNeeded":true,"dateCreated":"2014-11-27T10:50:10.078Z"},
{"_id":"547653748920d05ecdef4eed","title":"Hihi","text":"mookie","reloadNeeded":true,"dateCreated":"2014-11-27T10:50:10.078Z"}
]
因此,dateCreated
和reloadNeeded
在运行时设置 - 但我宁愿在创建文档时设置(并保持)它们。发生了什么事?
更新似乎 值仍然存在。
答案 0 :(得分:0)
您是否使用mongoose进行数据模型?如果是这样,将在文档构造http://mongoosejs.com/docs/2.7.x/docs/defaults.html
上创建默认值无论如何,我认为原因是默认