MongoDB安装及运用

来源:互联网 时间:1970-01-01


1. 安装

下载载地址:https://www.mongodb.org/downloads下载完成后解压
进入 mongodb-2.6.9目录打开cmd命令行,然后创建 文件目录/data/db用于存放数据库数据使用命令 md E:/NodeJS/mongodb-2.6.9/data/db 进行创建然后进入 mongodb-2.6.9/bin 目录 ,输入以下命令cd binmongod -dbpathE:/NodeJS/mongodb-2.6.9/data/db 在该目录创建数据,并启动数据库
这个窗口不能关,创建完成后生成以下文件
再打开一个命令行窗口,并进入到 E:/NodeJS/mongodb-2.6.9/bin 
最后输入 mongo 进入数据库

2. 创建数据库

输入命令 use web-frame 创建一个名为 web-frame的数据库
db.createCollection(“users”) /创建一个集合db.users.insert({"name":"admin","password":"111"}) /给users集合添加一个文档。
db.users.find() /查询你添加的文档

2.1配置环境变量

如果不配置那么每次使用mongo 命令时都要进入bin目录进行操作。只需将E:/NodeJS/mongodb-2.6.9/bin 配置到path中
配置好命令后你就可以在任何一个位置打开cmd就可使用mongod 命令,使用前必须先启动数据库启动命令:mongod进入数据库:mongo

3. 在项目中连接数据库

由于nodejs自带的操作mongodb的组件比较不好用,所以建议使用express-mongoose 来进行操作进入项目根目录 输入以下安装命令:npm install express-mongoose接下来我们在项目根目录创建一个models文件夹用于存放我们的这些映射模型(相当于java中的实体类)在models下创建一个users.js里面的代码如下:
/** * Created by lizx on 2015/10/26 0026. * 用户实体 */var mongoose = require('mongoose');//引入组件var Schema = mongoose.Schema;//创建模式var UserModel = new Schema({ _id:Number, username:String, password:String, createTime:{ type:Date, default:Date.now }});//定义一个用户模型exports.User = mongoose.model('Users',UserModel);//和users表进行关联
然后我们在route/index.js中进行引入使用
var mongoose = require('mongoose');var userModel = require('../models/Users');//引入自定义的实体var user = userModel.User;//调用实体中的Usermongoose.connect('mongodb://localhost/njabm');//连接数据库//查询用户列表exports.query = function(req,res){ user.find(function(err,data){ console.log(data); res.json(data); });};


4.创建seq实现id递增

API地址:https://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/打开cmd命令行窗口,输入命令:mongo 进入数据库(如果数据库未启动,要先输入mongod启动数据库)创建一个名为userid的seq,从0开始递增db.counters.insert(   {
      _id: "userid",
      seq: 0
   })创建一个函数,用于获取指定名称的seqfunction getNextSequence(name) {   var ret = db.counters.findAndModify(
          {
            query: { _id: name },
            update: { $inc: { seq: 1 } },
            newtrue
          }
   );

   return ret.seq;}插入一条数据,其中_id就是通过上面创建的函数获取db.users.insert(   {     _id: getNextSequence("userid"),      username: "lzx",      password:"123456"   })



相关阅读:
Top