MongoDB数据库(一)

学习资源网站:https://www.bilibili.com/video/BV1bJ411x7mq?from=search&seid=8073803961154704106
本篇博客主要是在学习完mongodb数据库后的一些总结和反思,用于日后快速回顾

一、启动MongoDB服务器

在bin目录下打开命令提示符,输入指令

mongod --dbpath=..\data\db
二、常用的操作指令
登录              mongo
查看已有的数据库   show databases
退出              exit
创建集合          db.createCollection("集合名")
查看当前库中表    show collections
集合的删除        db.集合.drop()

注:当向一个集合中插入一个文档的时候,如果集合不存在,则会自动创建集合。

三、集合操作指令

1、单个文档插入

db.comment.insert(
   {
    "articleid":"100000",
    "content":"今天天气真好,阳光明媚",
    "userid":"1001",
    "nickname":"Rose",
    "createdatetime":newDate(),
    "likenum":NumberInt(10),
    "state":null
    }
) 

2、多个文档插入

db.comment.insertMany([
 { "_id":"1","articleid":"100001","content":"我们不应该把清晨浪费在手机上,健康很重要,一杯温水幸福你我 他。","userid":"1002","nickname":"相忘于江湖","createdatetime":new Date("2019-08- 05T22:08:15.522Z"),"likenum":NumberInt(1000),"state":"1" }, 
 { "_id":"2","articleid":"100001","content":"我夏天空腹喝凉开水,冬天喝温开水","userid":"1005","nickname":"伊人憔 悴","createdatetime":new Date("2019-08-05T23:58:51.485Z"),"likenum":NumberInt(888),"state":"1"}, 
 { "_id":"3","articleid":"100001","content":"我一直喝凉开水,冬天夏天都喝。","userid":"1004","nickname":"杰克船 长","createdatetime":new Date("2019-08-06T01:05:06.321Z"),"likenum":NumberInt(666),"state":"1"}, 
 { "_id":"4","articleid":"100001","content":"专家说不能空腹吃饭,影响健康。","userid":"1003","nickname":"凯 撒","createdatetime":new Date("2019-08-06T08:18:35.288Z"),"likenum":NumberInt(2000),"state":"1"}, 
 { "_id":"5","articleid":"100001","content":"研究表明,刚烧开的水千万不能喝,因为烫 嘴。","userid":"1003","nickname":"凯撒","createdatetime":new Date("2019-08- 06T11:01:02.521Z"),"likenum":NumberInt(3000),"state":"1"}
 ]);

3、文档的基本查询

查询所有                db.comment.find()
按一定条件              db.comment.find({userid:'1003'})   //查询userid为1003的所有记录
                       db.comment.findOne({userid:'1003'})//查询userid为1003的第一条记录
查询某些记录的部分信息   db.comment.find({userid:"1003"},{userid:1,nickname:1}) 
不显示_id               db.comment.find({userid:"1003"},{userid:1,nickname:1,_id:0}) 
查询所有的部分信息       db.comment.find({},{userid:1,nickname:1,_id:0})

4、文档的更新

覆盖的修改   db.comment.update({_id:"1"},{likenum:NumberInt(1001)}) 
局部的修改   db.comment.update({_id:"2"},{$set:{likenum:NumberInt(889)}}) 
批量修改     db.comment.update({userid:"1003"},{$set:{nickname:"刘明勇"}})//只修改第一条数据
            db.comment.update({userid:"1003"},{$set:{nickname:"刘明勇1"}},{multi:true})
列增长的修改 db.comment.update({_id:"3"},{$inc:{likenum:NumberInt(1)}}) 

5、统计查询

统计所有记录数   db.comment.count() 
按条件统计       db.comment.count({userid:"1003"}) 

6、分页列表查询

db.comment.find().skip(0).limit(2)

注:
1、存储的文档会分页,例如每页两条记录,需要要查询第二页内容需用该语句
2、skip(), limilt(), sort()三个放在一起执行的时候,执行的顺序是先 sort(), 然后是 skip(),最后是显示的 limit(),和命令编写顺序无关。
3、在sort()方法中1为升序、-1为降序

7、排序查询

db.comment.find().sort({userid:-1,likenum:1}) 

8、模糊查询

db.comment.find({content:/开水/}) //查询评论内容中包含'开书'的所有文档

9、比较查询

db.comment.find({likenum:{$gt:NumberInt(700)}}) 

注:
db.集合名称.find({ “field” : { $gt: value }}) // 大于: field > value
db.集合名称.find({ “field” : { $lt: value }}) // 小于: field < value
db.集合名称.find({ “field” : { $gte: value }}) // 大于等于: field >= value
db.集合名称.find({ “field” : { $lte: value }}) // 小于等于: field <= value
db.集合名称.find({ “field” : { $ne: value }}) // 不等于: field != value

10、包含查询

//查询评论的集合中userid字段包含1003或1004的文档
db.comment.find({userid:{$in:["1003","1004"]}}) 
//查询评论的集合中userid字段不包含1003或1004的文档
db.comment.find({userid:{$nin:["1003","1004"]}}) 

11、条件连接查询

//查询评论集合中likenum大于等于700 并且小于2000的文档:
db.comment.find({$and:[{likenum:{$gte:NumberInt(700)}},{likenum:{$lt:NumberInt(2000)}}]}) 
//查询评论集合中userid为1003,或者点赞数小于1000的文档记录
db.comment.find({$or:[ {userid:"1003"} ,{likenum:{$lt:1000} }]})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值