2017-08-11 5 views
0

私はMongo dbから始めています。 mongoに2つの変数を挿入したい。したがって、同じファイル内にあります
1.-私は2つの変数を定義します
2.-私は2つの変数を持つJSON形式のオブジェクトを返す関数を作成します
3.-私は値を埋めるためにExpressでアプリケーションを作成します
4.-私はMongoに接続してJSONオブジェクトを挿入してコレクションを作成し、最初の引数に2つの引数を持つJSONオブジェクトを返す関数の呼び出しを渡します変数。
RESULT CONSOLEのチェックイン:
1.-接続は正しいです
2.- JSONの挿入されたオブジェクトが、空ノード/エクスプレスファイルにmongoを統合するスコープ

私はscopes.Howの問題は、それが正しい順序になると思うがあります?

// Express files 
var express = require('express'); 
var app = express(); 

// Mongo files 
var mongodb=require("mongodb") 
var MongoClient = mongodb.MongoClient; 
var MONGODB_URI="mongodb://user:[email protected]:00000/" 
// Variables 
var one; 
var two; 

// JSON object to insert in mongo 
var doc=function(one,two){ 
    return{ 
     "one":one, 
     "two": two 
     } 
} 

// App in Express 
app.get("new/:which",function(req,res){ 
    one=req.params.which 
    var randomNum=Math.round(Math.random()*10000) 
    two=req.headers["x-forwarded-host"]+("/")+randomNum.toString() 

    res.end(JSON.stringify(doc(one,two))) 
}) 

// Mongo connection and insertion of JSON object 
MongoClient.connect(MONGODB_URI,function(err,db){ 
     if (err) { 
      console.log('Unable to connect to the mongoDB server. 
        Error:', err); 
     } else { 
      console.log('Connection established to', MONGODB_URI); 
       } 

     var collection=db.collection("url") 
     collection.insert(doc(one,two),function(){ 
      if(err) throw err 
      console.log(JSON.stringify(doc(one,two))) 
      db.close() 
      }) 


}) 

答えて

1

// Express files 
 
var express = require('express'); 
 
var app = express(); 
 

 
//mongoose files 
 
var mongoose = require('mongoose'); 
 
mongoose.Promise = require('bluebird'); 
 

 
mongoose.connect('mongodb://user:[email protected]:00000/'), { 
 
\t useMongoClient: true, 
 
}); 
 

 
//Define the document schema 
 
var Schema = new mongoose.Schema({ 
 

 
    one: { 
 
    type: String, //or maybe Number 
 
    required: true 
 
    }, 
 
    two: { 
 
    type: String, 
 
    required: true 
 
    }, 
 

 
}); 
 

 
var Model = mongoose.model('model', Schema); 
 

 
app.get("/new/:which",function(req,res){ 
 
    one=req.params.which 
 
    var randomNum=Math.round(Math.random()*10000) 
 
    two=req.headers["x-forwarded-host"]+ ("/")+randomNum.toString(); 
 

 
    var new_doc = new Model({ 
 
    one: one, 
 
    two: two 
 
    }); 
 
    
 
    new_doc.save(err=>{ 
 
    err ? res.send(err) : res.send('added!'); 
 
    }); 
 
    
 
});

私はの質問への答えを見つけたあなたは、より快適

0

のためにコードをモジュールに分割することができモンゴ で作業するためのマングースのNPMパッケージを使用することをお勧めしますMongoDB大学のノード開発者のためのフリースケールのスコープすべてをまとめる方法を示すMongo University
シークエンシックスeは以下の通りです:

//Dependencies 
var express = require('express'); 
var app = express(); 
var mongodb=require("mongodb") 
var MongoClient = mongodb.MongoClient; 
var MONGODB_URI 
="mongodb://<user>:<psswd>@000000.mlab.com:41358" 

// Connection to mongo 
MongoClient.connect(MONGODB_URI,function(err,db){ 

    app.use("/new/:which",function(req,res){ 
       var one=req.params.which 
       var two=req.headers["x-forwarded-host"]+"/"+randomNum 

     // Insertion of documents 

       db.collection("url").insertOne({"one":one, 
              "two":two}) 
       res.send({"one":one,"two":two}) 


    }) 

    var listener = app.listen(8000) 

} 

ので、アプリはモンゴ接続とアプリケーションの範囲内で収集方法の範囲内であることが必要です。
同じレベルで、アプリケーションはポートになります。
ドキュメントはデータベースに挿入され、結果はクライアントにも送信されます。

関連する問題