2017-04-19 4 views
0

Ich habe versucht, Mongodb-Instanz db im folgenden Format zu exportieren. Aber ich kann es nicht bekommen.export mongodb ist fehlgeschlagen

Ordnerstruktur

catering 
    -server 
    -server.js 
    -mongoclient.js 
    -package.json 

Das sind meine einzelnen Dateien

mongoclient.js

var MongoClient = require('mongodb').MongoClient; 
var _db; 
var exec = require("child_process").exec; 
var async = require('async'); 
var series = require('async/series'); 
var file = __dirname + '/server.js'; 


async.series([ 
    function(callback){ 
     MongoClient.connect("mongodb://localhost:27017/catering",     function(err, db) { 
     _db = db; 
     db.createCollection('posts'); 
     module.exports = {db:db}; 
     // callback(db + "11111"); 
     callback(null,123) 
    }); 
    }, 
    function(callback){ 
    exec('nodemon '+ file,{},function(err,res){ 
     if(err){ 
      callback(null,err) 
     }else{ 
      callback(null,res); 
     } 
    }) 
    } 
],function(err,res){ 
    console.log("===========res",res,err) 
}) 

Server.js

var express = require("express"); 
var app = express(); 
var fs = require('fs'); 
var path = require("path"); 
var db = require('./mongoclient.js'); 

app.listen(4000); 

app.get('/',function(req,res){ 
    console.log("00000000000000000000get",db);  
    res.sendFile(path.join(__dirname + '/../client/index.html')) 
}); 

Package.json

{ 
    "name": "catering", 
    "version": "1.0.0", 
    "description": "", 
    "main": "index.js", 
    "scripts": { 
    "start": "npm-run-all --parallel connect:mongo build:watch", 
    "build:watch": "webpack --watch", 
    "connect:mongo": "nodemon ./server/mongoclient.js", 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
} 
+0

Überprüfen Sie diesen Link aus, könnte es nützlich sein: http://stackoverflow.com/questions/17098855/node-js- and-mongodb-reusing-the-db-Objekt –

+0

http://stackoverflow.com/questions/20315434/node-js-asynchronous-module-loading –

Antwort

0

fixierte ich das oben genannte Problem des Link @Aagam verwenden. Hier ist der aktualisierte Code

module.exports.init = function (callback) { 
    var server = new mongodb.Server("127.0.0.1", 27017, {}); 
    new mongodb.Db('catering', server, {w: 1}).open(function (error, client) { 
     module.exports.client = client; 
     if(client) 
     callback(client,undefined) 
     else 
     callback(undefined,error); 
    }); 
}; 

Unter Server.js

db.init(function(res,err){console.log("----------data",res); console.log("----------------err",err)}) 
Verwandte Themen