sql >> Database >  >> NoSQL >> MongoDB

MongoDB:één schema gebruiken als subdocument voor verschillende collecties die in verschillende bestanden zijn gedefinieerd

Exporteer de parameter sub-doc schema als een module.

// Parameter Model file 'Parameter.js'
var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var ParameterSchema = new Schema({
  id: {
    type: String,
    trim: true,
    default: ''
  },
  value: {
    type: String,
    trim: true,
    default: ''
  }
});

module.exports = ParameterSchema;
// Not as a mongoose model i.e. 
// module.exports = mongoose.model('Parameter', ParameterSchema);

Vereist nu het geëxporteerde moduleschema in uw bovenliggende document.

// Require the model exported in the Parameter.js file
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var Parameter = require('./Parameter');

var FirstCollectionSchema = new Schema({
  name: {
    type: String,
    trim: true,
    default: ' 
  },
  parameters: [Parameter]
});

module.exports = mongoose.model('FirstCollection', FirstCollectionSchema);

Nu sla je de verzameling en het subdocument op.

var FirstCollection = require('./FirstCollection')

var feat = new FirstCollection({
  name: 'foo',
  parameters: [{
    id: 'bar',
    value: 'foobar'
  }]
});

feat.save(function(err) {
  console.log('Feature Saved');
})



  1. Ik krijg de foutmelding Klasse 'Predis\Client' niet gevonden in Laravel 5.2

  2. Ontvang de ingestelde waarde van Redis met RedisTemplate

  3. MongoDB sorteren op bestaat alleen invoer, sleutel met waarde eerst en sleutel met null of niet bestaat als laatste

  4. Spring Boot + MongoDB Id-query