Dalam skrip saya, saya dapat membuat koleksi baru di mongodb tetapi default satu catatan kosong dimasukkan jadi bagaimana cara menghindarinya.

Model.js:

 /* model.js */
 'use strict';

 var mongoose = require('mongoose'),
 Schema = mongoose.Schema;


 function dynamicModel(suffix) {
   var addressSchema = new Schema({

    product_name: {
        type: String
    }

   }); 
   return mongoose.model(suffix, addressSchema); 
  } 
  module.exports = dynamicModel;

Data.controller.js:

      var NewModel = require(path.resolve('./models/model.js'))(collectionName);
      NewModel.create({ category: 1, title: 'Minion' }, function(err, doc) {

      });

Setelah membuat koleksi baru saya melihat seperti ini:

  _id:ObjectId("5eceb362d538901accc0fefe");
  __v:0
0
Pappa S 28 Mei 2020, 14:13

1 menjawab

Jawaban Terbaik

Anda harus mendefinisikan atribut ini dalam model Anda.

 /* model.js */
 'use strict';

 var mongoose = require('mongoose'),
 Schema = mongoose.Schema;


 function dynamicModel(suffix) {
   var addressSchema = new Schema({

    product_name: {
        type: String,
    },
    category: {
       type: Number,
    },
    title: {
       type: String,
    }

   }); 
   return mongoose.model(suffix, addressSchema); 
  } 
  module.exports = dynamicModel;
1
salgado 28 Mei 2020, 13:12