MongoDB 增删改查命令

MongoDB 增删改查命令

MongoDB 菜鸟教程概念解析:https://www.runoob.com/mongodb/mongodb-databases-documents-collections.html
在这里插入图片描述

1.1 添加操作db.User.save({name:'zhangsan',age:21,sex:true})

向集合Collection中添加数据User属性

> db.User.save({name:'zhangsan',age:21,sex:true})
WriteResult({ "nInserted" : 1 })
> db.User.save({name:'lucy',age:18,sex:false})
WriteResult({ "nInserted" : 1 })
> db.User.save({name:'tom',age:19,sex:false})
WriteResult({ "nInserted" : 1 })

1.2 查询

1.2.1 查询所有 db.User.find()

> db.User.find()
{ "_id" : ObjectId("633ed32002a26f1c66c632e0"), "name" : "zhangsan", "age" : 18, "sex" : true }
{ "_id" : ObjectId("633eda6d32cf64478292df05"), "name" : "lucy", "age" : 18, "sex" : false }
{ "_id" : ObjectId("633edb6d32cf64478292df06"), "name" : "tom", "age" : 19, "sex" : false }

1.2.2 条件查询 db.User.find({age:19},{'name':1,'age':1})

条件查询:查询年龄等于19岁,显示姓名和年龄

> db.User.find({age:19},{'name':1,'age':1})
{ "_id" : ObjectId("633edb6d32cf64478292df06"), "name" : "tom", "age" : 19 }

1.3 指定字段排序db.User.find().sort({age:1})

在MongoDB中使用sort()方法对数据进行排序,sort()方法可以通过参数指定排序的字段,并使用1和-1来指定排序的方式,其中1为升序排列,而-1是用于降序排列。

> db.User.find().sort({age:1})
{ "_id" : ObjectId("633ed32002a26f1c66c632e0"), "name" : "zhangsan", "age" : 18, "sex" : true }
{ "_id" : ObjectId("633eda6d32cf64478292df05"), "name" : "lucy", "age" : 18, "sex" : false }
{ "_id" : ObjectId("633edb6d32cf64478292df06"), "name" : "tom", "age" : 19, "sex" : false }
> db.User.find().sort({age:-1})
{ "_id" : ObjectId("633edb6d32cf64478292df06"), "name" : "tom", "age" : 19, "sex" : false }
{ "_id" : ObjectId("633ed32002a26f1c66c632e0"), "name" : "zhangsan", "age" : 18, "sex" : true }
{ "_id" : ObjectId("633eda6d32cf64478292df05"), "name" : "lucy", "age" : 18, "sex" : false }

1.4 分页显示db.User.find().skip(0).limit(2)

在MongoD中使用limit()方法来读取指定数量的数据,skip()方法来跳过指定数量的数据

> db.User.find().skip(0).limit(2)
{ "_id" : ObjectId("633ed32002a26f1c66c632e0"), "name" : "zhangsan", "age" : 18, "sex" : true }
{ "_id" : ObjectId("633eda6d32cf64478292df05"), "name" : "lucy", "age" : 18, "sex" : false }
> db.User.find().skip(1).limit(2)
{ "_id" : ObjectId("633eda6d32cf64478292df05"), "name" : "lucy", "age" : 18, "sex" : false }
{ "_id" : ObjectId("633edb6d32cf64478292df06"), "name" : "tom", "age" : 19, "sex" : false }

1.5 查询条件in包含db.User.find({age:{$in:[18,20]}})

> db.User.find({age:{$in:[18,19]}})
{ "_id" : ObjectId("633ed32002a26f1c66c632e0"), "name" : "zhangsan", "age" : 18, "sex" : true }
{ "_id" : ObjectId("633eda6d32cf64478292df05"), "name" : "lucy", "age" : 18, "sex" : false }
{ "_id" : ObjectId("633edb6d32cf64478292df06"), "name" : "tom", "age" : 19, "sex" : false }
> db.User.find({age:{$in:[19]}})
{ "_id" : ObjectId("633edb6d32cf64478292df06"), "name" : "tom", "age" : 19, "sex" : false }
> db.User.find({age:{$in:[20]}})

1.7 统计查询到的数量db.User.find({age:{$gt:19}}).count()

> db.User.find({age:{$gt:19}}).count()
0
> db.User.find({age:{$gt:18}}).count()
1
> db.User.find({age:{$eq:18}}).count()
2

1.8 条件语句or或db.User.find({$or:[{age:19},{age:18}]})

> db.User.find({$or:[{age:19},{age:18}]})
{ "_id" : ObjectId("633ed32002a26f1c66c632e0"), "name" : "zhangsan", "age" : 18, "sex" : true }
{ "_id" : ObjectId("633eda6d32cf64478292df05"), "name" : "lucy", "age" : 18, "sex" : false }
{ "_id" : ObjectId("633edb6d32cf64478292df06"), "name" : "tom", "age" : 19, "sex" : false }
> db.User.find({$or:[{age:19},{age:20}]})
{ "_id" : ObjectId("633edb6d32cf64478292df06"), "name" : "tom", "age" : 19, "sex" : false }

1.9 修改数据update()

可直接用类似T-SQL条件表达式更新,或用Save()更新从数据库返回到文档对象。

修改数据库中姓名为zhangsan的age和sex字段的值
db.User.update({name:'zhangsan'},{$set:{age:100,sex:0}})

> db.User.find().skip(0).limit(3)
{ "_id" : ObjectId("633ed32002a26f1c66c632e0"), "name" : "zhangsan", "age" : 18, "sex" : true }
{ "_id" : ObjectId("633eda6d32cf64478292df05"), "name" : "lucy", "age" : 18, "sex" : false }
{ "_id" : ObjectId("633edb6d32cf64478292df06"), "name" : "tom", "age" : 19, "sex" : false }
> db.User.update({name:'zhangsan'},{$set:{age:100,sex:0}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.User.find().skip(0).limit(3)
{ "_id" : ObjectId("633ed32002a26f1c66c632e0"), "name" : "zhangsan", "age" : 100, "sex" : 0 }
{ "_id" : ObjectId("633eda6d32cf64478292df05"), "name" : "lucy", "age" : 18, "sex" : false }
{ "_id" : ObjectId("633edb6d32cf64478292df06"), "name" : "tom", "age" : 19, "sex" : false }

2.0 删除remove()

指定id删除: db.User.remove(id)
全部删除:db.User.remove({})

2.1 索引

  1. 索引通常能够极大的提高查询的效率,如果没有索引,MongoDB,在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。
    这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对网站的性能是非常致命的。
  2. 索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构。

db.User.createIndex({‘name’:1})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

848698119

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值