2017-08-11 28 views
0

我開始使用Mongo數據庫。我想在mongo中插入兩個變量。因此,在同一個文件
1.-我定義了兩個變量
2.-我創建一個函數,返回一個帶有兩個變量的JSON格式對象
3.-我在Express中創建一個應用程序來填充值的兩個變量並將它們發送出去
4.-我連接到Mongo並插入JSON對象,創建一個集合並將第一個參數傳遞給函數,該函數返回帶有兩個參數的JSON對象變量。
結果檢查控制檯:
1.-連接正確
2:還有就是我覺得我有scopes.How的問題會是正確的順序插入一個JSON對象,但空作用域將mongo集成在一個節點/快速文件中

// 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!'); 
 
    }); 
 
    
 
});

我建議使用貓鼬NPM包與蒙戈 工作,就可以拆分代碼轉換成模塊更舒適

0

我找到了答案的問題MongoDB大學Node開發人員在無障礙課程中的範圍,展示如何整合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) 

} 

因此,應用程序必須蒙戈連接和應用程序的範圍內收集方法的範圍之內。
在應用程序將是端口的同一級別。
插入到數據庫中的文檔以及結果也將其發送給客戶端。