我是服务器端 javascipt 的新手。我从 mean.io 开始。这几天对nodejs、express、mongodb有了一些了解。我有我的 mean.io 应用程序,但我不知道连接到 mongodb 并从我的 js 文件中查询它的正确方法是什么。
是否有可以帮助我从服务器端 javascript 文件使用 mongodb 的指南/博客?
我想要的只是存储一些数据 mongodb 并在以后获取它。
2 回答
我找不到与 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
.
如何使用猫鼬?
要用于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
在 DB 中。
如何将数据保存到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':'xyz@xyz.com', 'address':{'house_no':12N, 'stree':'abc'}};
var User = mongoose.model('tbl_user');
var user = new User(jsonEntry);
user.save();
上面的代码将tbl_users
在 mongoDB 中创建和更新集合。
默认情况下,您应该会看到mean-dev
mongodb 中有一个集合。我认为熟悉 mongo 和 mean 的最好方法是玩代码(例如,文章包)。在里面/packages/article/system/
,您将看到博客示例是如何工作的。
这对我很有用。