mongodb常用数据查询筛选命令行操作

下面是我整理了关于mongodb数据表命令行操作数据的插入、修改、删除、求和、最大值、最小值、平均值、排序、分片查询、in和or等用法的查询

在查询指定数据库表的情况下我们可以使用 show collections


查询全部数据可以使用find()方法查询


查询数据库表中的数据条数,带查询条件统计数量:db.sidcust.count({"age":{$gte:23,$lte:28}}); 全部:db.sidcust.count();


查询要返回的指定字段,排除不需要的字段显示:0代表不显示,默认是不显示,:1代表显示例如


我们的数据结构是每个会员有一个关于车辆的内嵌数组数据结构如下


下面我们查询id类型为1的,cards数组中qy数量为6的会员  如果查询qy为3和6的话,更改qy:{$in:[3,6]}但是使用not in的写法  $nin不可用筛选数据内部数据列表无效,查询内嵌方法简写:

db.sidcust.find({"cards.qy":{$in:[3,6]}},{name:1,age:1,cards:1,_id:0});

查询符合条件的数据只获取其中一条的话可以使用db.sidcust.findOne();


查询数字类型的大于小于操作,下面举例查询大于23岁的会员信息gt(大于) 、lt(小于) 、gte(大于等于) 、lte(小于等于)


关于经常用到的分页查询的两个方法limit和跳过指定条数



在MongoDB中,db.collection.insert()方法添加一个新文档到集合中。另外,db.collection.update()方法和db.collection.save()方法也能通过upsert操作添加新文档。upsert操作执行更新现有文档或者当文档不存在时插入一个新文档

 db.sidcust.insert({"id":"4","name":"sission","age":28,"create":Date()});
 db.sidcust.save({"id":"4","name":"sission","age":28,"create":Date()});
 db.sidcust.update({"id":{$gt:"0"}},{ $set : {"create":Date()}},true,true)

update方法倒数第二个true是代表如果数据不存在则插入一条新数据

mongodb更新文档方法upate主要有四个参数,参数一是查询要更新的条件,参数二是要更新的字段集合一定要使用$set:{更新的集合key:value}否则会把整条数据更新成新的字段值,参数三是默认是false代表数据不存在是是否插入新的数据,参数4是更新所有符合条件的数据 

更新年龄>23岁的会员db.sidcust.update({"age":{$gt:23}},{ $set : {"create":Date()}},true,true)

mongodb删除文档数据可删除符合条件的所有数据,也可只删除符合条件的一条数据,根据第二个参数默认为false删除全部

  • justOne : (可选)如果设为 true 或 1,则只删除一个文档。
  • db.sidcust.remove({'name':'MongoDB 教程'},1)
    db.sidcust.remove({"_id":ObjectId("5a5ef5d8aca4974ac029bd7b")});

mongodb查询数据集合根据某个字段排序sort 语法如下 1代表升序排列,-1代表降序排列


mongodb查询多个年龄的会员in方法的使用


mongodb查询A或者B的使用方式db.sidcust.find({"age":{$gte:23,$lte:28}});


mongodb查询数据字段求和可带条件筛选  

不带条件筛选求和age字段的总和如:db.sidcust.aggregate({$group: {_id: null,sumage:{$sum:"$age"}}});

条件筛选id为1的年龄为28的会员的所有年龄总和如下:

db.sidcust.aggregate( [
                        { $match : { id :"1","age":28}},
                        { $group: { _id: null, sumage: { $sum:"$age"} } }
                       ] );


查询指定条件下的某个字段的最大值和最小值根据下图进行筛选


筛选id为1的会员中年龄最小的年龄如下


筛选id为1的会员中年龄最大的年龄如下


筛选id为1的会员中年龄平均的年龄如下


查询id为1的年龄为23的会员求和他们的总年龄、平均年龄、人数


mongodb时间插入和查询操作db.sidcust.insert({"id":"4","name":"ali","age":28,"create":Date()});  new Date() ISODate() 时间也可以直接在括号内写入具体的日期关于日期查询的话可以使用以下时间区间查询方法,如果按照第一种插入Date()的方式的时间格式为:"Thu Jan 16 2018 19:30:35 GMT+0800"  new Date()和new ISODate()格式为:ISODate("2018-01-15T11:30:16.084Z")查询14号到17号的会员信息



  • 12
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
MongoDB 命令操作可以通过 mongo shell 进,下面是一些常见的命令: 1. 连接 MongoDB 数据库: ``` mongo <host>:<port>/<database> -u <username> -p <password> ``` 其中,`<host>` 为 MongoDB 服务器地址,默认为 `localhost`;`<port>` 为 MongoDB 服务器端口,默认为 `27017`;`<database>` 为要连接的数据库名称;`-u` 和 `-p` 分别指定用户名和密码。 2. 显示数据库列表: ``` show dbs ``` 3. 切换数据库: ``` use <database> ``` 4. 显示当前数据库中的集合列表: ``` show collections ``` 5. 插入数据到集合中: ``` db.<collection>.insert({<field1>: <value1>, <field2>: <value2>, ...}) ``` 其中,`<collection>` 为要插入数据的集合名称,`<field>` 和 `<value>` 分别为字段名和对应的值。 6. 查询数据: ``` db.<collection>.find({<field1>: <value1>, <field2>: <value2>, ...}) ``` 其中,`<collection>` 为要查询数据的集合名称,`<field>` 和 `<value>` 分别为字段名和对应的值。 7. 更新数据: ``` db.<collection>.update({<query>}, {<update>}) ``` 其中,`<collection>` 为要更新数据的集合名称,`<query>` 为查询条件,`<update>` 为要更新的数据。 8. 删除数据: ``` db.<collection>.remove({<query>}) ``` 其中,`<collection>` 为要删除数据的集合名称,`<query>` 为查询条件。 以上是 MongoDB 命令操作的一些常用命令,还有很多其他的命令可以用于 MongoDB 数据库的管理和操作

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值