我爱编程

Mongodb安装与使用

2017-07-03  本文已影响0人  Bolinit

简介:

MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

特点:

1高性能

2易部署

3易使用

4存储数据非常方便

安装

下载

: http://www.mongodb.com/download-center?jmp=nav#community

创建数据目录 d:\data\db\

启动

1:在 mongodb 安装目录的 bin 目录下运行 cmd 执行

2:mongod –-dbpath d:\data\db  (启动服务)

3:重新在当前目录下 再次打开一个 cmd 执行 mongo 命令 进入到 mongo 交互界面

【**** 将安装目录的 bin 目录追到的系统path变量里面,之后,任一位置打开cmd都能执行上面步骤了

**** 将mongodb服务写入到系统服务里面,设置自动启动,下次就不需要额外开启服务了。操作如下:

1. 在 d:\data\ 目录下新建一个 logs 文件夹

2. 用管理员权限打开cmd 运行如下命令

mongod –-dbpath d:\data\db --logpath=d:\data\logs\mongodb.log --install】

操作使用

1:初步了解数据库、集合、文档概念

数据库:即存放集合的位置    一个MongoDB中可以建立多个数据库

集合:就是 MongoDB 中的文档组,相当于关系型数据库中的表格

文档:文档就是一个 键值对 对象。一个集合里面可以有多个文档。文档与文档之间不需要设置相同的字段,并且相同的字段也不需要相同的数据类型。这与关系型数据库有很大的区别,也是 MongoDB 非常突出的特点。

2:常用命令

①Help查看帮助命令 

    help        db.help()           db.test.help()                    db.test.find().help()

②创建|切换数据库      

     use 数据库名(例:use project; 若无该project数据库名,则会帮你自动添加并使用)

③列出所有数据库

     show dbs;

④查看当前所处数据库

     db || db.getName()

⑤显示当前db的状态

     db.stats()

⑥查看当前DB的链接机器地址

     db.getMongo()

⑦删除数据库

     db.dropDatabase();

3:MongoDB – Collection 集合操作

 ①创建集合

      db.createCollection(“名字”, {“size”: 20, “capped”: true});

      db.createCollection(“名字”);

      db.”名字”.insertOne({“name”: “bbb”, “age”: 18});

②得到指定名称的集合

      db.getCollection(“account”);

③得到当前db的所有集合

      db.getCollectionNames();

④显示当前db所有集合的状态

      db.printCollectionStats();

⑤删除某个集合

      db.xxx.drop();

4:MongoDB – 增删改 集合数据(重要)

①增加数据

     db.users.save({“name”: “张三”,“age”: 19});

     db.users.insertOne({“name”: “张三”, “age”: 18});

     db.users.insert([{“name”: “zhangsan”}, {“name”: “lisi”}]);

②修改

     db.users.update({“age”: 25}, {$set: {“name”: “zhangsan”}});

     db.users.update({“name”: “lisi”}, {$inc: {“age”: 25}});

     db.users.update({“name”: “lisi”}, {$inc: {“age”: 5},$set: {“name”: “zhangsan”}})

③删除

     db.users.remove({“age”: 25});

④查询

   1、查询所有记录

        db.userInfo.find();

        相当于:select* from userInfo;

    2、查询去重后数据

        db.userInfo.distinct("name");

        相当于:select distict name from userInfo;

    3、查询age = 22的记录

         db.userInfo.find({"age": 22});

         相当于: select * from userInfo where age = 22;

    4、查询age > 22的记录

         db.userInfo.find({age: {$gt: 22}});

         相当于:select * from userInfo where age >22;

     5、查询age < 22的记录

          db.userInfo.find({age: {$lt: 22}});

          相当于:select * from userInfo where age <22;

     6、查询age >= 25的记录

           db.userInfo.find({age: {$gte: 25}});

           相当于:select * from userInfo where age >= 25;

     7、查询age <= 25的记录

            db.userInfo.find({age: {$lte: 25}});

     8、查询age >= 23 并且 age <= 26

            db.userInfo.find({age: {$gte: 23, $lte: 26}});

      9、查询name中包含 mongo的数据

             db.userInfo.find({name: /mongo/});

             //相当于%%

             select * from userInfo where name like ‘%mongo%’;

     10、查询name中以mongo开头的

           db.userInfo.find({name: /^mongo/});

           select * from userInfo where name like ‘mongo%’;

      11、查询指定列name、age数据

           db.userInfo.find({}, {name: 1, age: 1});

           相当于:select name, age from userInfo;

      12、查询指定列name、age数据, age > 25

            db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1});

            相当于:select name, age from userInfo where age >25;

       13、按照年龄排序

             升序:db.userInfo.find().sort({age: 1});

             降序:db.userInfo.find().sort({age: -1});

        14、查询name = zhangsan, age = 22的数据

            db.userInfo.find({name: 'zhangsan', age: 22});

            相当于:select * from userInfo where name = ‘zhangsan' and age = ’22';

         15、查询前5条数据

           db.userInfo.find().limit(5);

           相当于:select top 5 * from userInfo;

如果这篇文章确实对你有所帮助,欢迎大家点赞,鼓励我继续写下去有什么不懂的可以问我

上一篇下一篇

猜你喜欢

热点阅读