0

Dog厳密にfalseに設定されたスキーマがあり、スキーマにない値を保存できます。ただし、次のように値を設定するためにドット表記を使用できないようです。

var dog = new Dog();
dog.name = "Barry"; // works because name is in schema
dog.notInSchema = "This should work!" // doesn't work because its not in the schema
dog.save(...)

このようなものはうまくいきます:

var dog = new Dog({name : "kyle", notInSChema : "This works and saves" })
dog.save(...)

ここでは、スキーマにないフィールドでドット表記を使用する必要があります。どうすればよいですか?

4

1 に答える 1

0

Mongoose モデルに項目を設定する最良の方法は、Model#set を使用することです。あなたの例では、これは次のようになります。

var dog = new Dog();
Dog.set('name', 'Barry');
Dog.set('notInSchema', 'this does work');
dog.save(callback);

http://mongoosejs.com/docs/api.html#document_Document-setを参照してください

于 2013-04-30T16:33:10.310 に答える