Mongodb之基础操作

一、操作Mongodb数据库
1、创建数据库
语法: use 数据库名
注意: 如果数据库不存在就创建,存在就切换到数据库。
如果创建的数据库不显示在列表内,需要向数据库中插入一些数据才能看到
2、删除数据库
前提: 使用当前数据库
db.dropDatabase()
3、断开连接
exit
4、查看所有数据库
show dbs
5、查看当前正在使用的数据库
a、db
b、db.getName()

二、集合操作
1、查看当前数据库下有哪些集合
show collections
2、创建集合
a、db.createCollection(“集合名”)
b、db.集合名.insert(document)
区别: a创建的是一个空集合,b创建一个集合的同时添加一个文档
3、删除当前数据库中的集合
db.集合名.drop()

三、文档操作
1、插入文档
a、insert()方法插入文档
- db.集合名.insert(document)
可以插入多个文档,插入多个文档时,document为一个列表,insert([document1, document2])
b、save()方法插入文档
- db.集合名.save(document)
如果不指定_id字段,与insert()方法类似,若指定_id字段,则相当于更新数据
db,student.save({_id:ObjectId(“id”),name:“s-tjl}) 将此id对应的数据的name字段更改为"s-tjl”
2、文档更新
a、update()方法更新已存在的文档
- db.集合名.update(
query,
update,
{
upset:boolean,
multi:boolean,
writeConcern:document
}
)
参数说明:
query:update的查询条件
update:update的对象和一些更新的操作符( s e t ) 为 直 接 更 新 , ( set)为直接更新,( set)(inc)在原有的基础上,累加后更新
upset:可选,如果不存在update的记录,是否当作新数据插入,ture为插入,false为不插入,默认为false
multi:可选,默认flase,只更新找到的第一条数据,为ture,就按照条件查找的数据,全部更新
writeConcern:可选,抛出异常的级别
示例:db.student.update({name:“s-tjl”},{KaTeX parse error: Expected 'EOF', got '}' at position 13: set:{age:15}}̲),将s-tjl的age字段改…inc:{age:15}}),将s-tjl的age字段加15再复制给age
b、save()方法通过传入的文档替换已有的文档
- db.集合名.save(document, {writeConcern:}
参数同上
3、文档删除
remove(),在执行remove()之前,应先执行find()
- db.集合名.remove(
query,
{
justOne:boolean,
writeConcern:document
}
)
参数说明:
query:可选,删除的文档的条件
justOne:可选,为true,只删除找到的第一个文档
writeConcern:可选,抛出异常的级别
4、文档查询
a、find()方法
- db.集合名.find(),查询集合下的所有文档
b、find()方法查询指定列
- db.集合名.find(
query,
{
key1:1
key2:1
key3:1
}
)
参数说明:
query:查询条件
key:要显示的字段,1表示显示
示例:db.student.find({addr:“河南”},{name:1}),查询地址在“河南”的人的名字
c、pretty()方法以格式化的方式显示文档
- db.集合名.find().pretty()
也可以有查询条件
d、findOne()方法查询匹配结果的第一条数据
- db.集合名.findOne({name:“s-tjl”}),查询名字为“s-tjl”的第一条数据

5、查询条件操作符
    作用:条件操作符用于比较两个表达式并从Mongodb集合中获取数据
    a、大于    $gt
        - db.集合名.find({<key>:{$gt:<value>}})
          示例:db.student.find({age:{$gt:10}})
    b、大于等于    $gte
        - db.集合名.find({<key>:{$gte:<value>}})
    c、小于    $lt
        - db.集合名.find({<key>:{$lt:<value>}})
    d、小于等于    $lte
        - db.集合名.find({<key>:{$lte:<value>}})
    e、大于等于和小于等于
        - db.集合名.find({<key>:{$gte:<value>, $lte:<value>}})
    f、等于    :
        - db.集合名.find({<key>:<value>})
    g、使用_id进行查询
        - db.集合名.find({"_id":ObjectId("id")})
    h、查询某个结果集的数据条数
        - db.集合名.find().count()
    i、查询某个字段的值当中是否包含另一个值
        - db.集合名.find({<key>:/value/})
    j、查询某个字段的值是否以另一个值开头
        - db.集合名.find({<key>:/^value/})
6、条件查询 AND 和 OR
    a、AND 条件
        - db,集合名.find({条件1,条件2,……,条件n})
    b、OR条件
        - db,集合名.find(
              {
                  $or:[{条件1},{条件2},……,{条件n}]
              }
          )
    c、AND 和 OR 联合使用
        - db,集合名.find(
              {
                  {条件1,
                   条件2,……,
                   条件n
                   }
                  $or:[{条件1},{条件2},……,{条件n}]
              }
          )
7、limit、skip
    a、limit()读取指定数量的数据记录
        - db.集合名.find().limit(n)
    b、skip()跳过指定数量的数据
        - db.集合名.find().skip(n)
    c、skip与limit联合使用
        可以用来实现分页
        - db.集合名.find().skip(n).limit(n)


8、排序
    - db.集合名.find().sort({<key>:1|-1})
      1表示升序,-1表示降序,默认升序
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值