欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MongoDB的基本操作

程序员文章站 2024-03-20 23:15:28
...

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}}]})