• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >MongoDB > MongoDB的mongo shell常用操作方法及操作脚本笔记

MongoDB的mongo shell常用操作方法及操作脚本笔记

作者:kristy_yy 字体:[增加 减小] 来源:互联网 时间:2017-05-11

kristy_yy通过本文主要向大家介绍了com.mongodb.mongo,mongo和mongodb,mongo和mongodb的区别,mongo shell,path to mongo shell等相关知识,希望本文的分享对您有所帮助

一、常用命令

1、Help查看命令提示

help

db.help();

db.yourColl.help();

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

rs.help();

</div>

2、切换/创建数据库

use yourDB; 当创建一个集合(table)的时候会自动创建当前数据库
3、查询所有数据库

show dbs;
</div>

4、删除当前使用数据库

db.dropDatabase();
</div>

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

db.cloneDatabase(“127.0.0.1”); 
</div>

将指定机器上的数据库的数据克隆到当前数据库
6、从指定的机器上复制指定数据库数据到某个数据库

db.copyDatabase("mydb", "temp", "127.0.0.1");
</div>

将本机的mydb的数据复制到temp数据库中
7、修复当前数据库

db.repairDatabase();
</div>

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

db.getName();

</div>

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

db.stats();
</div>

10、当前db版本

db.version();
</div>

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

db.getMongo();
</div>

二、Collection(table)聚集集合

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

db.createCollection(“collName”, {size: 20, capped: 5, max: 100});//创建成功会显示{“ok”:1}
</div>

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

db.getCollection("account");
</div>

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

db.getCollectionNames();
</div>

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

db.printCollectionStats();
</div>

三、用户相关

1、添加一个用户

db.addUser("name");

db.addUser("userName", "pwd123", true); 
</div>

添加用户、设置密码、是否只读
2、显示当前所有用户

show users;
</div>

3、删除用户

db.removeUser("userName");
</div>

以上都是一些最基本的命令,我就当做笔记来看了。更加深入的crud我都还没有尝试,等我尝试过了再写。

语句块操作

1、简单Hello World

print("Hello World!");
</div>

这种写法调用了print函数,和直接写入"Hello World!"的效果是一样的;

2、将一个对象转换成json

tojson(new Object());

tojson(new Object('a'));

</div>

3、循环添加数据

for (var i = 0; i < 30; i++) {

... db.users.save({name: "u_" + i, age: 22 + i, sex: i % 2});

... };

</div>

这样就循环添加了30条数据,同样也可以省略括号的写法

for (var i = 0; i < 30; i++) db.users.save({name: "u_" + i, age: 22 + i, sex: i % 2});
</div>

也是可以的,当你用db.users.find()查询的时候,显示多条数据而无法一页显示的情况下,可以用it查看下一页的信息;

4、find 游标查询

var cursor = db.users.find();

while (cursor.hasNext()) {

printjson(cursor.next());

}

</div>

这样就查询所有的users信息,同样可以这样写

var cursor = db.users.find();

while (cursor.hasNext()) { printjson(cursor.next); }

</div>

同样可以省略{}号

5、forEach迭代循环

db.users.find().forEach(printjson);
</div>

forEach中必须传递一个函数来处理每条迭代的数据信息

6、将find游标当数组处理

var cursor = db.users.find();

cursor[4];

</div>

取得下标索引为4的那条数据

既然可以当做数组处理,那么就可以获得它的长度:cursor.length();或者cursor.count();

那样我们也可以用循环显示数据

for (var i = 0, len = c.length(); i < len; i++) printjson(c[i]);
</div>

7、将find游标转换成数组

var arr = db.users.find().toArray();

printjson(arr[2]);

</div>

用toArray方法将其转换为数组

8、定制我们自己的查询结果

只显示age <= 28的并且只显示age这列数据

db.users.find({age: {$lte: 28}}, {age: 1}).forEach(printjson);

db.users.find({age: {$lte: 28}}, {age: true}).forEach(printjson);

</div>

排除age的列

db.users.find({age: {$lte: 28}}, {age: false}).forEach(printjson);
</div>

9、forEach传递函数显示信息

db.things.find({x:4}).forEach(function(x) {print(tojson(x));});

</div>

其他

1、查询之前的错误信息

db.getPrevError();
</div>

2、清除错误记录

db.resetError();
</div>

3、显示数据库列表

show dbs

</div>

4、显示当前数据库中的集合(类似关系数据库中的表)

show collections

</div>

5、显示用户

show users
</div>  </div>

6、切换当前数据库,这和MS-SQL里面的意思一样

use

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • MongoDB的mongo shell常用操作方法及操作脚本笔记

相关文章

  • 2017-05-11mongodb exception: $concat only supports strings, not NumberInt32解决办法
  • 2017-05-11mongodb replica set 配置高性能多服务器详解
  • 2017-05-11Mongodb安装与配置笔记
  • 2017-05-11MongoDB与MySQL常用操作语句对照
  • 2017-05-11MongoDB下根据数组大小进行查询的方法
  • 2017-05-11MongoDB学习笔记—Linux下搭建MongoDB环境
  • 2017-05-11在Mac OS上安装使用MongoDB的教程
  • 2017-05-11mongodb 数据库操作详解--创建,切换,删除
  • 2017-05-11MongoDB简介 MongoDB五大特色
  • 2017-05-11mongodb 修改用户密码 2种方法

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MongoDB教程之索引介绍
    • mongodb replica set 配置高性能多服务器详解
    • 浅析MongoDB用户管理
    • 初识NoSQL NoSql数据库入门 NoSql数据库基础知识
    • MongoDB性能篇之创建索引,组合索引,唯一索引,删除索引和explain执行计划
    • MongoDB常用操作命令大全
    • mongodb添加arbiter节点的方法示例
    • MongoDB数据库中索引(index)详解
    • MongoDB与MySQL常用操作语句对照
    • 使用aggregate在MongoDB中查询重复数据记录的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有