`
liyonghui160com
  • 浏览: 762316 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MongoDB windows安装 基本命令

阅读更多

 

windows安装

 

 安装目录:

 

D:\MongoDB\

 

新建目录

 

D:\MongoDB\data\db

 

4.启动进城:

 

cd D:\MongoDB\bin

 

mongod -dbpath D:\MongoDB\data\db

 

 

客户端执行命令

mongo 127.0.0.1

 

查看连接数情况

mongostat -h 127.0.0.1

 

 

成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。

 

输入help可以看到基本操作命令:

 

show dbs:显示数据库列表 

show collections:显示当前数据库中的集合(类似关系数据库中的表) 

show users:显示用户

 

use <db name>:切换当前数据库,这和MS-SQL里面的意思一样 

db.help():显示数据库操作命令,里面有很多的命令 

db.foo.help():显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令 

db.foo.find():对于当前数据库中的foo集合进行数据查找(由于没有条件,会列出所有数据) 

db.foo.find( { a : 1 } ):对于当前数据库中的foo集合进行查找,条件是数据中有一个属性叫a,且a的值为1

 

MongoDB没有创建数据库的命令,但有类似的命令。

 

如:如果你想创建一个“myTest”的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection('user')),这样就可以创建一个名叫“myTest”的数据库。

 

数据库常用命令

 

1、Help查看命令提示

 

 help

 

  db.help();

 

  db.yourColl.help();

 

  db.youColl.find().help();

 

  rs.help();

 

2、切换/创建数据库

 

 use yourDB;  当创建一个集合(table)的时候会自动创建当前数据库

 

3、查询所有数据库

 

 show dbs;

 

4、删除当前使用数据库

 

 db.dropDatabase();

 

5、从指定主机上克隆数据库

 

 db.cloneDatabase(“127.0.0.1”); 将指定机器上的数据库的数据克隆到当前数据库

 

6、从指定的机器上复制指定数据库数据到某个数据库

 

 db.copyDatabase("mydb", "temp", "127.0.0.1");将本机的mydb的数据复制到temp数据库中

 

7、修复当前数据库

 

 db.repairDatabase();

 

8、查看当前使用的数据库

 

 db.getName();

 

 db; db和getName方法是一样的效果,都可以查询当前使用的数据库

 

9、显示当前db状态

 

 db.stats();

 

10、当前db版本

 

 db.version();

 

11、查看当前db的链接机器地址

 

 db.getMongo();

 

Collection聚集集合

 

1、创建一个聚集集合(table)

 

 db.createCollection(“collName”, {size: 20, capped: 5, max: 100});

 

2、得到指定名称的聚集集合(table)

 

 db.getCollection("account");

 

3、得到当前db的所有聚集集合

 

 db.getCollectionNames();

 

4、显示当前db所有聚集索引的状态

 

 db.printCollectionStats();

 

 用户相关

 

1、添加一个用户

 

 db.addUser("name");

 

 db.addUser("userName", "pwd123", true); 添加用户、设置密码、是否只读

 

2、数据库认证、安全模式

 

 db.auth("userName", "123123");

 

3、显示当前所有用户

 

 show users;

 

4、删除用户

 

 db.removeUser("userName");

其他

1、查询之前的错误信息

 db.getPrevError();

2、清除错误记录

 db.resetError();

 

查看聚集集合基本信息

 

1、查看帮助  db.yourColl.help();

 

2、查询当前集合的数据条数  db.yourColl.count();

 

3、查看数据空间大小 db.userInfo.dataSize();

 

4、得到当前聚集集合所在的db db.userInfo.getDB();

 

5、得到当前聚集的状态 db.userInfo.stats();

 

6、得到聚集集合总大小 db.userInfo.totalSize();

 

7、聚集集合储存空间大小 db.userInfo.storageSize();

 

8、Shard版本信息  db.userInfo.getShardVersion()

 

9、聚集集合重命名 db.userInfo.renameCollection("users"); 将userInfo重命名为users

 

10、删除当前聚集集合 db.userInfo.drop();

 

聚集集合查询

 

1、查询所有记录

 

db.userInfo.find();

 

相当于:select* from userInfo;

 

默认每页显示20条记录,当显示不下的情况下,可以用it迭代命令查询下一页数据。注意:键入it命令不能带“;”

 

但是你可以设置每页显示数据的大小,用DBQuery.shellBatchSize= 50;这样每页就显示50条记录了。

 

 

 

2、查询去掉后的当前聚集集合中的某列的重复数据

 

db.userInfo.distinct("name");

 

会过滤掉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;

 

当然name也可以用true或false,当用ture的情况下河name:1效果一样,如果用false就是排除name,显示name以外的列信息。

 

 

 

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);

 

相当于:selecttop 5 * from userInfo;

 

 

 

16、查询10条以后的数据

 

db.userInfo.find().skip(10);

 

相当于:select * from userInfo where id not in (

 

selecttop 10 * from userInfo

 

);

 

 

 

17、查询在5-10之间的数据

 

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

 

可用于分页,limit是pageSize,skip是第几页*pageSize

 

 

 

18、or与 查询

 

db.userInfo.find({$or: [{age: 22}, {age: 25}]});

 

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

 

 

 

19、查询第一条数据

 

db.userInfo.findOne();

 

相当于:selecttop 1 * from userInfo;

 

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

 

 

 

20、查询某个结果集的记录条数

 

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

 

相当于:select count(*) from userInfo where age >= 20;

 

 

 

21、按照某列进行排序

 

db.userInfo.find({sex: {$exists: true}}).count();

 

相当于:select count(sex) from userInfo;

 

索引

 

1、创建索引

 

db.userInfo.ensureIndex({name: 1});

 

db.userInfo.ensureIndex({name: 1, ts: -1});

 

 

 

2、查询当前聚集集合所有索引

 

db.userInfo.getIndexes();

 

 

 

3、查看总索引记录大小

 

db.userInfo.totalIndexSize();

 

 

 

4、读取当前集合的所有index信息

 

db.users.reIndex();

 

 

 

5、删除指定索引

 

db.users.dropIndex("name_1");

 

 

 

6、删除所有索引索引

 

db.users.dropIndexes();

 

 修改、添加、删除集合数据

 

1、添加

 

db.users.save({name: ‘zhangsan’, age: 25, sex: true});

 

添加的数据的数据列,没有固定,根据添加的数据为准

 

 

 

2、修改

 

db.users.update({age: 25}, {$set: {name: 'changeName'}}, false, true);

 

相当于:update users set name = ‘changeName’ where age = 25;

 

 

 

db.users.update({name: 'Lisi'}, {$inc: {age: 50}}, false, true);

 

相当于:update users set age = age + 50 where name = ‘Lisi’;

 

 

 

db.users.update({name: 'Lisi'}, {$inc: {age: 50}, $set: {name: 'hoho'}}, false, true);

 

相当于:update users set age = age + 50, name = ‘hoho’ where name = ‘Lisi’;

 

 

 

3、删除

 

db.users.remove({age: 132});

 

 

 

4、查询修改删除

 

db.users.findAndModify({

 

    query: {age: {$gte: 25}}, 

 

    sort: {age: -1}, 

 

    update: {$set: {name: 'a2'}, $inc: {age: 2}},

 

    remove: true

 

});

 

 

 

db.runCommand({ findandmodify : "users", 

 

    query: {age: {$gte: 25}}, 

 

    sort: {age: -1}, 

 

    update: {$set: {name: 'a2'}, $inc: {age: 2}},

 

    remove: true

 

});

 

 

 

 

分享到:
评论

相关推荐

    MongoDB教程之基本管理命令

     执行mongod命令启动MongoDB服务器。mongod有很多可配置的选项,我们通过mongod –help可以查看所有选项,这里仅介绍一些主要选项:  代码如下:  –dbpath:  缺省情况下数据库的数据目录为/data/db。对于...

    深入云计算 MongoDB管理与开发实战详解pdf.part1

    第2章 MongoDB基本原理与安装 2.1 数据库结构 2.2 文档 2.3 集合 2.3.1 集合的无模式 2.3.2 集合的命名 2.4 MongoDB数据类型 2.4.1 基本数据类型 2.4.2 数字类型 2.4.3 日期类型 2.4.4 ...

    mongodb详细资料(讲义+代码)

    2.在Windows和Linux下安装启动MongoDB、图形化管理界面Compass的安装使用 3.掌握MongoDB基本常用命令实现数据的CRUD 4.掌握MongoDB的索引类型、索引管理、执行计划 5.使用Spring Data MongoDB完成文章评论业务的...

    深入云计算 MongoDB管理与开发实战详解pdf.part2

    第2章 MongoDB基本原理与安装 2.1 数据库结构 2.2 文档 2.3 集合 2.3.1 集合的无模式 2.3.2 集合的命名 2.4 MongoDB数据类型 2.4.1 基本数据类型 2.4.2 数字类型 2.4.3 日期类型 2.4.4 ...

    .NET连接MongoDB数据库实例教程

    使用代码让我们从Mongo数据库的一些细节和基本命令开始,并最终介绍如何创建一个可连接至Mongo数据库的.NET Windows应用。Mongo数据库MongoDB 是一个跨平台、文档导向的数据库系统,它被归类为“NoSQL”数据库。...

    mongodb使用心得简单总结

    1.mongodb特性 1)mongo是一个面向文档的数据库,它集合了nosql和sql数据库两方面的特性。 2)所有实体都是在首次使用时创建。 3)没有严格的事务特性,但是它保证任何一次数据变更都是原子性的。 4)也没有固定的...

    《MySQL数据库入门》教学设计.docx

    教学目标及基本要求 1、了解数据库的基础知识,可以描述数据库的存储结构和常见的数据库产品 2、了解MySQL的安装与配置,学会在Window和Linux平台安装MySQL 3、掌握MySQL的启动、登录以及配置方式 重点及措施 1、...

    mongdb文件型数据库开发实例

     MongoDB的安装的Windows,Ubuntu的或Mac OS X的安装很简单,基本上只是MongoDB的zip文件下载,额外的,并运行命令- MongoDB-  folder/bin/mongod元。  使用的mongod启动MongoDB的。 $./mongod Tue Sep ...

    Discord.js-Bot:Cryptonix X的开源版本和任何discord.js机器人的基本框架

    JS-Discord-Bot Cryptonix X的开源版本和任何discord.js机器人的基本框架。 集成MongoDB作为数据库解决方案!已针对Discord.js V12 woohoo更新HarutoHiroki制造的... 填写MongoDB数据库的URL 获取用于图像命令的AlexFli

    云计算第二版

    6.5.2 在Windows系统中安装Hadoop 208 6.6 HDFS使用 215 6.6.1 HDFS 常用命令 215 6.6.2 HDFS 基准测试 219 6.7 HBase安装使用 219 6.7.1 HBase的安装配置 219 6.7.2 HBase的执行 220 6.7.3 Hbase编程实例 221 6.8 ...

    ByTheStreamWebsite:这是xishuipang网站的主要存储库。 西水ip是由中国福音教会创办和维护的基督教杂志

    基本设定该网站使用node.js和express.js作为其服务器,并使用Mongodb作为其数据库。 如果您想提供帮助,请确保在本地计算机上安装了nodejs和expressjs。 由陈力开发,罗向宇。 :copyright:2018中国福音教会。 保留...

    工作区:工作区是企业级Ruby on Rails电子商务平台

    在安装通过在终端中运行以下命令来运行的演示版: curl -s https://raw.githubusercontent.com/workarea-commerce/workarea/master/demo/install | bash 如果您使用的是MacOS或Windows,则需要将Docker的内存分配...

Global site tag (gtag.js) - Google Analytics