MongoDB的基本使用
MongoDB简介基于分布式文件存储的开源数据库系统将数据存储为一个文档,文档类似于Json格式MongoDB进入与退出进入:mongo退出:exit库级操作显示所有库: show dbs切换/创建数据库: use 数据库名称查看所在库: db删除库:db.dropDatabase()-- 切换到要删除的数据库里进行删除集合操作显示当前数据库的集合: show collections创建集合: d
·
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.student.insert( [ { } , { } , ... ] )
删除文档(数据) db.集合名称.remove(<query>, {justOne:})
- 删除集合中所有的文档:db.table.remove( {} )
- 删除集合中满足条件的所有文档:db.table.remove({sex: '男'})
- 只删除集合中满足条件的第一条文档: { justOne: true }
- 例: 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.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 :大于
- $lt :小于
- $gte:大于等于
- $lte :小于等于
- 例:db.user.find( { 'age' : {'$ne': 45 } } )
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献3条内容
所有评论(0)