如何使用mean.io来使用MongoDB

时间:2014-08-27 15:39:12

标签: node.js mongodb mean-stack mean.io

我是服务器端javascipt的新手。我从mean.io开始。我最近几天对nodejs,express,mongodb有了一些了解。我有我的mean.io应用程序,但我不知道连接到mongodb的正确方法是什么,并从我的js文件中查询它。
是否有指南/博客可以帮助我从我的服务器端javascript文件中使用mongodb? 我想要的只是存储一些数据mongodb并在稍后获取它。

2 个答案:

答案 0 :(得分: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.js db: '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?

通常会在控制器中对DB进行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':'xyz@xyz.com', 'address':{'house_no':12N, 'stree':'abc'}};
var User = mongoose.model('tbl_user');
var user = new User(jsonEntry);
user.save();  

上面的代码将在mongoDB中创建和更新tbl_users集合。

答案 1 :(得分:3)

默认情况下,您应该会看到mongodb中有一个mean-dev集合。我认为熟悉mongo和mean的最好方法是玩代码(例如,文章包)。在/packages/article/system/内,您将看到博客示例的工作原理。

这对我很有用。