พังพอน .save() จะไม่เข้าสู่ฟังก์ชัน .save()

ฉันกำลังประสบปัญหากับฟังก์ชัน mongoose .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',
company_code: '123' }

ฉันไม่ได้รับบันทึกใดๆ

console.log("ตอนนี้สามารถเชื่อมโยงกับ db ได้",err);

or

console.log("บิงโก");

company.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
DeprecationWarning: Mongoose: mpromise (ไลบรารีสัญญาเริ่มต้นของ mongoose) เลิกใช้แล้ว   -  person Abhishek Parikh    schedule 14.11.2016
comment
@Qop var rootRequire = need('root-require'); แพ็คเกจเวลา 23.00 น   -  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 = need('root-require'); ลงใน index.js และมันใช้ได้ดีสำหรับฉัน

person pankaj007    schedule 14.11.2016

ควรรวมพังพอนก่อนการออกแบบสคีมา

หากคุณจะดูคำตอบและรหัสก่อนหน้าของฉันมันจะชัดเจนยิ่งขึ้น

person Abhishek Parikh    schedule 14.11.2016