目录
mongoDB数据库常用命令
服务操作
数据库操作
库操作
集合操作
文档操作
条件匹配
mongoDB数据库的安装和配置:参考https://www.runoob.com/mongodb/mongodb-window-install.html
安装:参考安装配置
启动服务:net start MongoDB ,在每次连接数据的时候都需要启动服务后才可以连接数据库
关闭服务:net stop MongoDB
进入:mongo
退出:exit
查看展示所有库:show dbs 切换和创建数据库:use 数据库名称
注:1、有则用(切换),无则增(创建);2、创建好的数据库没有添加数据时,不会保存在库列表中;3、刚进入mongo中时,默认在test数据库下
查看当前所在库:db
删除库:db.dropDatabases()
查看当前数据库的所有集合:show collections
创建集合:db.createCollections('集合name') 注意:不要使用函数等有特殊含义的名字
在没有集合的时候插入数据,会自动创建这个集合:如 db.mymongo.insert({nihao:'你好'}) ,当前库中没有mymongo这个集合,当执行这个命令的时候会自动创建这样一个名为mymongo的集合。
删除集合:db.集合name.drop()
文档数据:每一条数据就是一个document,一条json,每一条文档都有一个唯一的ObjectId,添加文档时如果不指定_id参数,生成文档的时候会自动添加一个_id给文档。
添加一条文档:db.集合name.insert({document})
db.st.insert({'_id':1,name:'李白',age:61})添加多条文档:db.集合name.insert([{document1},{document2},...{documentn}])
db.mymongo.insert([ {'_id':3,name:'李白',朝代:'唐'}, {'_id':4,name:'苏轼',朝代:'宋'} ])查看集合中的所有文档:db.集合name.find()
> db.mymongo.find() { "_id" : ObjectId("5f90490fc94bc9d1ef91e2c2") } { "_id" : 1, "name" : "李白", "朝代" : "唐" } { "_id" : 2, "name" : "苏轼", "朝代" : "宋" } { "_id" : 3, "name" : "李白", "朝代" : "唐" } { "_id" : 4, "name" : "苏轼", "朝代" : "宋" }格式化显示查找出来的数据:db.name.find().pretty()
查找满足条件的数据:db.name.find({查找条件})
> db.mymongo.find({'_id':3}) { "_id" : 3, "name" : "李白", "朝代" : "唐" } > db.mymongo.find({'name':'李白'}) { "_id" : 1, "name" : "李白", "朝代" : "唐" } { "_id" : 3, "name" : "李白", "朝代" : "唐" }修改文档:db.name.update(<query查询条件>,<update更新的数据>,{multi:true})
修改一条(只修改符合条件的所有文档中的第一条):db.name.update({查询数据条件},{修改内容})
> db.mymongo.update({'name':'李白'},{朝代:'唐代'}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.mymongo.find() { "_id" : ObjectId("5f90490fc94bc9d1ef91e2c2") } { "_id" : 1, "朝代" : "唐代" } { "_id" : 2, "name" : "苏轼", "朝代" : "宋" } { "_id" : 3, "name" : "李白", "朝代" : "唐" } { "_id" : 4, "name" : "苏轼", "朝代" : "宋" }指定属性修改:{$set:{属性}} ,修改$set:中指定的属性内容,不会对一个文档中的所有属性都修改掉
> db.mymongo.update({'name':'苏轼'},{$set:{朝代:'北宋'}},{multi:true}) WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 }) > db.mymongo.find() { "_id" : ObjectId("5f90490fc94bc9d1ef91e2c2") } { "_id" : 1, "朝代" : "唐代" } { "_id" : 2, "name" : "苏轼", "朝代" : "北宋" } { "_id" : 3, "name" : "李白", "朝代" : "唐" } { "_id" : 4, "name" : "苏轼", "朝代" : "北宋" }更改集合中所有满足条件的所有文档:在最后面加 {multi:true}参数,指定值为true时,表示修改所有符合条件的文档;默认条件下multi值为false,表示只修改第一条符合条件的数据 。
删除文档
删除集合中所有的文档:db.name.remove({})
删除集合中满足条件的所有文档:db.name.remove({数据条件})
仅删除集合中满足条件的第一条文档:在后面加上{justOne:true},justOne的值设为true或1只删除一个文档,不设置或使用默认值false,则删除所有匹配条件文档。
and 条件:{$and:[{数据1},{数据2},...]} or 条件:{$or:[{数据1},{数据2},...]} 不等于:$ne 大于:$gt 小于:$lt 大于等于:$gte 小于等于:$lte