Node.js 在mongoose中创建新文档时是否可以添加新属性?
我有这个模式(例如): 在mongoose中创建新文档时如何添加新属性?大概是这样的:Node.js 在mongoose中创建新文档时是否可以添加新属性?,node.js,mongodb,mongoose,mongoose-schema,Node.js,Mongodb,Mongoose,Mongoose Schema,我有这个模式(例如): 在mongoose中创建新文档时如何添加新属性?大概是这样的: let Word = require("../models/word"); let initWord = "hello"; word = new Word({ word: initWord, length: initWord.length }); word.save(function(error) { if (error) { //some code
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
}
});
但这不起作用默认情况下,Mongoose不允许您向文档中动态添加字段 但是,如果在创建模式时将strict选项设置为false,则可以:
var WordSchema = new Schema({
word: {
type: String
}
}, {strict: false});
为了获取不在架构中的属性,需要使用特殊的getter表单:
doc.get('length')
或通过调用以下命令将文档转换为普通的旧javascript对象:
doc.toObject()
在检索到的架构对象上。不清楚您在这里要问什么。您想知道如何向mongoose文档添加其他字段,然后将其保存到数据库中吗?我想很清楚,我有一个具有1属性的架构,现在我想创建并保存一个具有2属性的文档。但我想在创建新模式时添加第二个属性,如果我理解了您的要求,我可能会对您有所帮助:)是的,我知道,谢谢您
doc.toObject()