当前位置: 移动技术网 > IT编程>数据库>MongoDB > mongo shell

mongo shell

2019年12月28日  | 移动技术网IT编程  | 我要评论

mongo shell

mongo 连接

本地

mongo # 连接127.0.0.1:27017

远程

mongo "mongodb://mongodb0.example.com:28015"

带认证的方式

mongo "mongodb://alice@mongodb0.examples.com:28015/?authsource=admin"

复制集

mongo "mongodb://mongodb0.example.com.local:27017,mongodb1.example.com.local:27017,mongodb2.example.com.local:27017/?replicaset=repla"
mongo "mongodb+srv://server.example.com/" # dns seedlist connection format

ssl方式

mongo "mongodb://mongodb0.example.com.local:27017,mongodb1.example.com.local:27017,mongodb2.example.com.local:27017/?replicaset=repla&ssl=true"

mongo shell 操作

db # 查看当前数据库
use <database> #使用数据库

当插入数据时会自动创建集合
在mongo第一次显示提示之前,会自动运行home目录下的.mongorc.js文件,如果不想加载,可以使用--norc参数

配置shell

cmdcount = 1;
prompt = function() {
             return (cmdcount++) + "> ";
         }
# 显示行数

date

  • date() 返回string
  • new date() 返回isodate
  • isodate() 返回isodate

    objectid

    _id的类型

    numberlong

    mongo shell中,默认认为数字为浮点型,为表示64位int型数据,可以用numberlong
    如果用$inc作用于numberlone,将把此数转为浮点型

    数字比较

query results
{ “val”: 9.99 } { “_id”: 2, “val”: 9.99, “description”: “double” }
{ “val”: numberdecimal( “9.99” ) } { “_id”: 1, “val”: numberdecimal( “9.99” ), “description”: “decimal” }
{ val: 10 } { “_id”: 3, “val”: 10, “description”: “double” }{ “_id”: 4, “val”: numberlong(10), “description”: “long” }{ “_id”: 5, “val”: numberdecimal( “10.0” ), “description”: “decimal” }
{ val: numberdecimal( “10” ) } { “_id”: 3,“val”:10, “description”: “double” }{ “_id”: 4, “val”: numberlong(10), “description”: “long” }{ “_id”: 5, “val”: numberdecimal( “10.0” ), “description”: “decimal” }

当double类型的数据进行比较时,会转换double的数据类型为decimal,而且会有误差
可以用type进行比对

db.inventory.find( { price: { $type: "decimal" } } )

shell操作指南

~/.dbshell:操作 记录
show dbs:查看 所有 数据库,不同的访问权限会有不同的结果
use <db>:使用数据库
show collections:查看所有集合
show users:查看当前所有用户
show roles:查看当前数据库所有角色,包括内建的
show profile:打印耗时1毫秒以上的操作5个
show databases:查看可访问的所有数据库

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网