我有这个模式(例如):
var WordSchema = new Schema({
word: {
type: String
}
});
module.exports = mongoose.model('Word', WordSchema);
在猫鼬中创建新文档时如何添加新属性?像这样的东西:
let Word = require("../models/word");
let initWord = "hello";
word = new Word({
word: initWord,
length: initWord.length
});
word.save(function(error) {
if (error) {
//some code
} else {
//some code
}
});
但这不起作用
答案 0 :(得分:2)
默认情况下,Mongoose不允许您向文档中动态添加字段。但是,如果使用strict选项设置为false来创建模式,则可以:
var WordSchema = new Schema({
word: {
type: String
}
}, {strict: false});
为了获得不在架构中的属性,您需要使用
doc.toObject()
并使用它,或使用
doc.get('length')
在检索到的模式对象上。