如何在mean.io中使用MongoDB

3

我是一名新手后端JavaScript开发者。我开始学习mean.io。最近几天,我对nodejs、express和mongodb有了一些了解。我已经创建了我的mean.io应用程序,但是我不知道从我的js文件中连接到mongodb并查询它的正确方法。
是否有指南/博客可以帮助我从我的服务器端JavaScript文件中使用mongodb?
我想做的就是将一些数据存储到mongodb中,并在以后的某个时间点获取它。


1
展示一下你目前已经做了什么。 - Jordonias
我刚刚从mean.io的文档中创建了meanio应用程序。我正在解析一个RSS源,希望将数据存储到MongoDB中。 - Mady
1
这方面有很多教程,你查过了吗? - Max
有很多关于mongodb、nodejs和express的相关内容,但我正在寻找与mean.io相关的内容。 - Mady
2个回答

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,只需要启动mongodb,使用mongod命令即可。

如何使用mongoose?

要使用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 将以 tbl_userS 的形式存储。
如何将数据保存到mongoDB?
通常情况下,人们会在控制器中对数据库进行保存操作。以下是我展示的一种方法。 为了使所有控制器都可以使用模型,需要在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集合。

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

这是现在的 meanStarter 包。 - timelfelt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接