我是服务器端javascipt的新手。我从mean.io开始。我最近几天对nodejs,express,mongodb有了一些了解。我有我的mean.io应用程序,但我不知道连接到mongodb的正确方法是什么,并从我的js文件中查询它。
是否有指南/博客可以帮助我从我的服务器端javascript文件中使用mongodb?
我想要的只是存储一些数据mongodb并在稍后获取它。
答案 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
修改强>
过去几天我一直在努力,并通过测试&学习我能让事情适合我。到目前为止,我会分享我所知道的一切。
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/
内,您将看到博客示例的工作原理。
这对我很有用。