mongoDB shell命令

首先申明以下命令是针对mongo 3.4.3版本的,对于高版本的未必可执行,谨供参考!

mongo命令端登陆:

  1、不需要auth认证登陆

    $mongoDB_hone/bin/mongo 10.43.1.9:6330

  2、需要auth认证【带有用户名和密码】

  $mongoDB_hone/mongo --port 6330 -u 'user_name' -p 'password' --authenticationDatabase 'database_name' --host mongo_ip

 

查询命令

  1、查看集合:show dbs

  2、选择集合:use database_name

  3、查看数据

    db.table_name.find()

    db.table_name.find().limit(5) 

  3.1、条件匹配 【.pretty() 表示标准输出】如图

 

 

 

    单个条件:create_time = 2020-07-02     

db.cb_data_order.find(
		{"create_time":"2020-07-02"}
).pretty()

    多个 条件 and:create_time = 2020-07-02 and status = 3

db.table_name.find(
	{"create_time":"2020-07-02"},{"status":"3"}
).pretty()

    多个 条件 or:create_time = 2020-07-02 or  create_time = 2020-07-03

db.cb_data_order.find(
	{$or:[{"create_time":"2020-07-02"},{"create_time":"2020-07-03"}]}
).pretty()

  3.2、范围查询

    create_time <= "2020-07-02" 【lte:小于等于  lt:小于】

db.cb_data_order.find(
	{"create_time":{"$lte":"2020-07-02"}}
).pretty()

    

    create_time >= "2020-07-02"   【gte:大于等于  gt:大于】

db.cb_data_order.find(
	{"create_time":{"$gte":"2020-07-02"}}
).pretty()

    

    create_time >= "2020-07-02"  and  create_time <= "2020-07-03" 【or 的命令情况类似】

db.cb_data_order.find(
	{$and:[{"create_time":{$gte:"2020-07-02"}},{"create_time":{$lte:"2020-07-03"}}]}
).pretty()

   

  3.3、聚合查询

    计数统计

db.cb_data_order.find().count()  // 全量统计
// 条件统计
db.cb_data_order.find( {"create_time":{$lt:"2020-07-02"}} ).count()

    

    聚合统计【条件大于2020-07-02 小于2020-07-21,并order_status = 3,以trade_channel 分组统计money总和:total,以及数量:count】

db.cb_data_order.aggregate( [
	{$match:{$and:[{"create_time":{$gt:"2020-07-02",$lt:"2020-07-21"}},{"order_status":"3"}]}},
	{
		$group: {
		_id: "$trade_channel",
		total: {$sum: "$money"},
		count: {$sum: 1}
		}
	}
	] )

  

  4、更新

    修改【order】记录中【value字段】的值为ON

db.order.update({param: "billingLogSwitch"}, {$set: {value: 'ON'}}, false, true)

  

·  5、查询指定字段

-- 只输出id和title字段,第一个参数为查询条件,空代表查询所有
db.news.find( {}, { id: 1, title: 1 } )
-- 如果需要输出的字段比较多,不想要某个字段,可以用排除字段的方法,不输出内容字段,其它字段都输出
db.news.find( {}, {content: 0 } )

 

  更多的可以看下菜鸟教程的文档,很有参考价值:https://www.runoob.com/mongodb/mongodb-tutorial.html

posted @ 2020-07-31 17:58  小戈戈不怕黑  阅读(417)  评论(0编辑  收藏  举报