mongoose .save() не входит в функцию .save()

У меня проблемы с функцией мангуста .save().

Index.js

var mongoose = require('mongoose');
var companySchema = rootRequire('models/company');
mongoose.connect('mongodb://localhost:27017/test');


var company = new companySchema({activate: false, company_code: '123', name: 'A123' });
console.log(company);
company.save(function(err){
    if(err){
    console.log("now it can be associated with db",err);    
    }
    else{
        console.log("bingo");
    }
});

Мой вывод журнала консоли

{ активировать: false, _id: 582997952a3134cc08672607, имя: 'A123',
код_компании: '123' }

Я не получил ни одного журнала

console.log("теперь его можно ассоциировать с db",err);

or

console.log("бинго");

Моя компания.js выглядит так

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

var companySchema = new Schema({

    name: {
        type: String,
        required: true,
        sparse: true,
        unique: true
    },
    company_code: {
        type: String,
        required: true
    },
    activate: {
        type: Boolean,
        default: false
    },
    logo: {
        type: String
    }

}, {
    collection: 'company'
});


var Company = mongoose.model('company',companySchema)

module.exports = Company;

person Abhishek Parikh    schedule 14.11.2016    source источник
comment
как rootRequireвыглядит?   -  person QoP    schedule 14.11.2016
comment
Предупреждение об устаревании: Mongoose: mpromise (библиотека промисов по умолчанию в mongoose) устарела,   -  person Abhishek Parikh    schedule 14.11.2016
comment
@Qop var rootRequire = require('root-require'); Пакет нпм   -  person Abhishek Parikh    schedule 14.11.2016
comment
вы пробовали использовать var companySchema = mongoose.model('company') вместо var companySchema = rootRequire('models/company');?   -  person QoP    schedule 14.11.2016
comment
@Qop Спасибо, я сделал общий файл для дизайна схемы и API, и он работает. Но это не решило мою проблему. Как включить его в другой файл?   -  person Abhishek Parikh    schedule 14.11.2016
comment
Вам не нужно их в одном файле, вы можете импортировать mongoose.model('company')куда угодно.   -  person QoP    schedule 14.11.2016


Ответы (3)


Работа с одним файлом решила мою проблему, но неосуществимый вариант.

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

//Company Schema
var companySchema = new Schema({

    name: {
        type: String,
        required: true,
        sparse: true,
        unique: true
    },
    company_code: {
        type: String,
        required: true
    },
    activate: {
        type: Boolean,
        default: false
    },
    logo: {
        type: String
    }

}, {
    collection: 'company'
});


var Company = mongoose.model('company',companySchema)
//console.log(Company);


mongoose.connect('mongodb://localhost:27017/test');
var company = new Company({activate: false, company_code: '123', name: 'OSPL3' });

console.log(company);
company.save(function(err){
    console.log('comses');
    if(err){
    console.log("now it can be associated with db",err);    
    }
    else{
        console.log("bingo");
    }
});

Выдержит ли моя проблема, связанная с rootRequire?

person Abhishek Parikh    schedule 14.11.2016

Я попытался выполнить ваш код и только что добавил одну строку var rootRequire = require('root-require'); в index.js, и он отлично работает для меня.

person pankaj007    schedule 14.11.2016

Mongoose должен быть включен до разработки схемы.

Если вы посмотрите на мой предыдущий ответ и код, он будет более понятен.

person Abhishek Parikh    schedule 14.11.2016