Создать бессхемную коллекцию в mongoDB через mongoose

У меня есть следующие записи схемы мангуста:

var mongoose = require('mongoose');

module.exports = mongoose.model('lM', {
    any     :   mongoose.Schema.Types.Mixed,
},'mlr');

И в моем коде я делаю так:

var lm      = require('../server/models/records');

new lm().save(lmr);

Поскольку lmr является объектом JSON.

Это создает базу данных mongodb с именем, которое я указал, но записи внутри этой коллекции содержат только:

_id: objectID
_v: 0

Объектов JSON нигде не видно. Как я могу получить объект JSON внутри любой оболочки в схеме?


person JoaoFilipeClementeMartins    schedule 15.11.2017    source источник


Ответы (1)


var lm      = require('../server/models/records');

new lm({'any':lmr}).save();

В методе save() передайте функцию обратного вызова [необязательно], если вы хотите отслеживать ошибки, если таковые имеются.

new lm({'any':lmr}).save(function(err){
   if(err) {
      console.log(err) 
   }else{
      console.log('saved')
   }
});

Чтобы создать коллекцию без схемы, вам нужно установить strict:false, что по умолчанию равно true. Параметр strict гарантирует, что значения, переданные конструктору модели, которые не были указаны в схеме, не будут сохранены в базе данных.

строгий вариант документы

person RootHacker    schedule 15.11.2017