Как создать коллекции mongodb, используя 'node-mongodb-native' с валидаторами согласно определенной схеме mongoose? - PullRequest
0 голосов
/ 17 мая 2019

Я хочу создать пустые коллекции с валидаторами, которые работают одинаково, когда мы хотим вставить или обновить, используя mongoose!Короче говоря, проверки на уровне коллекции!

Я пытался создать схему mongodb ($ jsonSchema), используя mongoose-schema-jsonschema , но выдает ошибку Unknown $jsonSchema keyword: x-ref

const mongoose = require('mongoose');
require('mongoose-schema-jsonschema')(mongoose);
const contact = require('./schemas/contact');

contact.jsonSchema('name mobile email message token is_active status status_comment version');
const contact_schema = contact.jsonSchema('', 'country_id state_id suburb_id subject_id created_by modified_by');

let connection;
const get_mongodb_resource = async () => {
  try {
    console.log('get_mongodb_resource started ');

    const options = { useNewUrlParser: true, useCreateIndex: true };
    await mongoose.connect(process.env,MONGODB_URI, options);
    mongoose.set('debug', true);
    console.info('get_mongodb_resource connected');
    connection = mongoose.connection;
    connection.db.createCollection('contact_schema', { validator: { $jsonSchema: contact_schema } });
    return mongoose.connection;
  } catch (error) {
    console.log('connection to mongodb failed');
    console.log(error, error.stack);
    return new Error(error);
  }
};

Как мне это сделать, либо с помощью node-mongodb-native или с mongoose ?

...