2014-08-27 45 views
3

我是服務器端javascipt的新手。我已經開始與mean.io.我最近幾天對nodejs,express,mongodb有了一些瞭解。我有我的mean.io應用程序,但我不知道連接到mongodb並從我的js文件中查詢它的正確方法。
有沒有可以幫助我使用我的服務器端JavaScript文件中的mongodb的指南/博客?
我只需要存儲一些數據mongodb並在稍後的時間點讀取。如何通過mean.io使用MongoDB

+1

向我們展示您到目前爲止所擁有的。 – Jordonias 2014-08-27 15:42:55

+0

我剛剛在mean.io中創建了doc中的meanio應用程序。我解析一個rss提要。我想將這些數據存儲到mongodb中。 – Mady 2014-08-27 16:37:14

+1

這裏有多個教程,你有沒有打擾谷歌搜索? – 2014-08-28 00:28:18

回答

3

我找不到與mean.io有關的鏈接,但是下面的鏈接幫助我開始使用了mean.io.

http://cwbuecheler.com/web/tutorials/2013/node-express-mongo/
https://www.youtube.com/watch?v=AEE7DY2AYvI
https://www.youtube.com/watch?v=5e1NEdfs4is

編輯:
這幾天我一直在努力,並通過測試&學習我能得到的東西爲我工作。到現在爲止,我會分享我所知道的。

  • 所以mean.io使用mongoose ODM連接到mongodb。
  • mean.io會自動連接到您的數據庫。您可以在development.jsdb: 'mongodb://localhost/myDB'中配置數據庫名稱。所以你不必擔心連接到mongoDB。您只需要使用mongod啓動mongoDB。

如何使用貓鼬?

要使用mongoose連接到mongoDB,您需要構建模式。您可以在myApp/app/models目錄中這樣做,因爲它們代表模型。

樣品模型文件user.js

var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 
var userSchema = new Schema({ 
    name: String, 
    email: String, 
    DOB : Date, 
    address: { 
       house_no: String, 
       street: String 
      } 
}); 

module.exports = mongoose.model('tbl_user',userSchema); 

注: - tbl_user將被存儲在DB tbl_userS

如何將數據保存到mongoDB?

通常會在控制器中對數據庫執行save。下面我已經展示瞭如何做到這一點。
要使模型可用於所有控制器,需要在server.js中編寫這段代碼,以便在服務器啓動期間註冊所有模型。或者,使用require('tbl_user')導入單個模型。

Server.js: -

var models_path = __dirname + '/app/models'; 
    var arrFiles = fs.readdirSync(models_path); 
    arrFiles.forEach(function(file){ 
     if(file.indexOf('.js') > 0){ 
      require(models_path + '/' + file); 
     } 

    }); 

控制器代碼myApp/app/controllers/myController.js

var mongoose = require('mongoose'); 
var jsonEntry = {'name':'Mady', 'email':'[email protected]', 'address':{'house_no':12N, 'stree':'abc'}}; 
var User = mongoose.model('tbl_user'); 
var user = new User(jsonEntry); 
user.save(); 

上面的代碼將創建和更新tbl_users集合在MongoDB中。

3

默認情況下,您應該看到您的mongodb中有一個mean-dev集合。我認爲熟悉mongo的最好方法就是圍繞代碼進行遊戲(例如文章包)。在/packages/article/system/內部,您將看到博客示例的工作原理。

這對我很好。

+0

相關的信息,現在它是'meanStarter'包 – timelf123 2016-12-08 20:17:07