MongoDB安装及运用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lzxadsl/article/details/49451565

1. 安装

下载完成后解压

进入 mongodb-2.6.9目录打开cmd命令行,然后创建 文件目录\data\db用于存放数据库数据
使用命令 md E:\NodeJS\mongodb-2.6.9\data\db 进行创建
然后进入 mongodb-2.6.9\bin 目录 ,输入以下命令
cd bin
mongod -dbpath E:\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;//调用实体中的User
mongoose.connect('mongodb://localhost/njabm');//连接数据库
//查询用户列表
exports.query = function(req,res){
  user.find(function(err,data){
    console.log(data);
    res.json(data);
  });
};


4.创建seq实现id递增

打开cmd命令行窗口,输入命令:mongo 进入数据库(如果数据库未启动,要先输入mongod启动数据库)
创建一个名为userid的seq,从0开始递增
db . counters . insert (
    {
      _id :  "userid" ,
      seq :  0
    } )
创建一个函数,用于获取指定名称的seq
function  getNextSequence ( name )  {
    var  ret  =  db . counters . findAndModify (
          {
            query :  {  _id :  name  },
            update :  {  $inc :  {  seq :  1  }  },
            new :  true
          }
    );

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

猜你喜欢

转载自blog.csdn.net/lzxadsl/article/details/49451565
今日推荐