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

MongoDB的基本使用

程序员文章站 2022-05-03 22:24:47
MongoDB简介 基于分布式文件存储的开源数据库系统 将数据存储为一个文档,文档类似于Json格式 MongoDB进入与退出 进入:mongo 退出:exit 库级操作 显示所有库: show dbs 切换/创建数据库: use 数据库名称 查看所在库: db 删除库:db.dropDatabas ......

mongodb简介

  • 基于分布式文件存储的开源数据库系统
  • 将数据存储为一个文档,文档类似于json格式


mongodb进入与退出

  • 进入:mongo
  • 退出:exit


库级操作

  • 显示所有库: show dbs
  • 切换/创建数据库: use 数据库名称
  • 查看所在库: db
  • 删除库:db.dropdatabase() -- 切换到要删除的数据库里进行删除


集合操作

  • 显示当前数据库的集合: show collections
  • 创建集合: db.createcollection( '集合名称' )
  • 删除集合: db.集合名称.drop() -- 返回 true 或 false


文档操作

添加文档(数据)     db.集合名称.insert(document)

  • 每一条数据,就是一个document,就是一条json
  • 添加文档时,如果不指定_id参数,mongodb会为文档分配一个唯一的objectid
    • 例: db.student.insert({'_id':1, name:'xiaoming', age:18})
  • 添加多条文档
    • 例: db.student.insert( [ { } , { } , ... ] )

删除文档(数据)     db.集合名称.remove(<query>, {justone:})

  • 删除集合中所有的文档:db.table.remove( {} )
  • 删除集合中满足条件的所有文档:db.table.remove({sex: '男'})
  • 只删除集合中满足条件的第一条文档: { justone: true }
    • 例: db.table.remove({sex:'男'}, { justone:true} )

修改文档(数据)     db.集合名称.update(<query>, <update>, {multi:<boolean>})

  • 修改一条数据: db.table.update({name:'xiaoming'}, {age:20})--(只有age,没有name了,整条数据变成<update>里的内容)
  • 指定属性修改: { $set: {age:20} }
    • 例: db.table.update({name:'xiaoming'}, {$set: {age:666, sex: 'xx'}} )
  • 更新集合中所有满足条件的文档: { multi: true }
    • 例: db.table.update({sex:'男'}, {$set:{sex:'女'}}, { multi:true} )

查询文档(数据)     db.集合名称.find([conditions])

  • 查看集合中全部数据: db.student.find()
  • 格式化显示: db.student.find().pretty()
  • 查看满足条件的数据: db.student.find({name:'xiaoming'})

噩梦条件

  • and条件
    • {$and:[{expression1}, {expression1}, ...] }
  • or条件
    • { $or : [ { } , { }, ...] }
  • and和or混用
    • db.table.find( {$or:[ {$and:[{sex:'女'}, {age:18}]} , {$and:[{sex:'男'}, {age:{$gt:18}}]} ] } )
    • db.table.find( { $or : [ { $and:[ { } , { } ] } , { $and:[ { } , { } ] } ] } )
  • 操作符
    • $ne:不等于
    • \(gt :\)gt
    • $lt :小于
    • $gte:大于等于
    • $lte :小于等于
    • 例:db.user.find( { 'age' : {'$ne': 45 } } )