MongoDB的基本操作

MongoDB

MongoDB将数据存储为文档

数据库的表称为集合(collection)

字段的值可以包含其他的文档及数组

MongoDB和sql的概念转换

 SQL概念       MongoDB概念      说明    

database database 数据库
table collection 表/集合
primary key primary key 主键/自动生成_id
row document 行/文档

(一)MongoDB数据库连接:

  1. 打开终端
    cd …\bin
    输入 mongod.exe –dbpath 数据库安装的路径(db文件夹下)
    回车
    提示服务启动成功
  2. 再打开一个终端
    cd …\bin
    输入mongo.exe 回车,进入数据库

(二)对于库的操作

  1. 查看当前所有的库
    show dbs

  2. 选择数据库

    注意:

    1. 如果使用的库不存在,那么使用use就会创建一个新库,但是
      这个库你是看不到的,可以使用db.getName()来查看
  3. 查看当前所在库
    db.getName()

(三)对于表的操作(集合)

  1. 创建集合
    db.createCollection(‘集合名’)

  2. 查看当前库下所有的集合
    show collections

  3. 删除集合
    db.集合名.drop()

(四)对于数据的操作

INSERT/SAVE 文档的添加

1.使用insert添加

db.集合名.insert(文档)

插入多条    :   db.集合名.insert([文档1, 文档2, ...])

3.2版本以后建议使用的添加方法:

    db.collection.insertOne({})     =>      db.user.insertOne({name : 'Amy'})

    db.collection.insertMany([{}])
  1. 使用save添加
    db.collection.save(文档)
    db.user.save({“_id” : ObjectId(“59f183ae4e1bfd452ec082d1”), name: ‘lisi’}) 对原有数据的覆盖

  2. update修改
    更新操作符:
    $inc => 累加修改 => db.user.update({name : ‘Tom’}, {$inc : {age : 5}})
    $set => 直接修改 => db.user.update({name : ‘lisi’}, {$set : {age : 25}})

    db.collection.update(条件, 数据, {multi : true}) # 修改所有
    db.user.update({name : ‘lisi’}, {$set : {age : 25}}) # 只修改第一个匹配到的
    db.user.update({name : ‘lisi’}, {$set : {age : 25}}, {multi : true}) # 修改所有
    db.user.update({age : 25}, {$set : {name : ‘test’}}, {multi : true})

  3. remove文档的删除
    db.collection.remove(条件) => db.user.remove({name:’王五’}) # 匹配几条删几条
    db.user.remove({name:’王五’}, 1) # 删除一条

    3.2版本建议使用:
    db.collection.deleteOne({}) 删除一条
    db.collection.deleteMany({}) 删除多条

FIND查询文档

  1. find 查询所有
    db.collection.find() 查询所有

  2. findOne() 查询一条
    db.user.findOne()

  3. find().count() 统计数据的条数
    db.collection.find().count()

  4. 查询条件的操作符
    1. $gt 大于 db.user.find({age : {$gt : 10}})
    2. $gte 大于等于 db.user.find({age : {$gte : 40}})
    3. $lt 小于 db.user.find({age : {$lt : 40}})
    4. $lte 小于等于 db.user.find({age : {$lte : 40}})
    5. 等于 {键 : 值} db.user.find({age : 2})
    6. 使用_id查询 {“_id” : ObjectId(“59f1829e4e1bfd452ec082d0”)}
    7. /数据/ 模糊查询 db.user.find({name : /王/})))
    8. /^数据/ 以…开头
    9. /数据$/ 以…结尾
    10. $in 在…之内 db.user.find({age : {$in : [2, 12]}})
    11. $nin 不在…之内 db.user.find({age : {$nin : [2,12]}})
  5. and的使用
    db.collection.find({条件1, 条件2}) => db.user.find({name : ‘test’, age : 25})
  6. or的查询
    db.collection.find({$or : 条件1, 条件2})
    : db.user.find({$or : [{name : ‘test’}, {name : ‘test2’}]})
    db.user.find({$or : [{name : ‘test’}, {name : ‘test2’}, {age : {$lt : 30}}]})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值