mongoDB基本语法学习
一.库级操作语句
1.显示所有库:show dbs
2.切换/创建数据库:use 数据库名称
3.查看当前位置所在库:db
4.删除库:db.dropDatabase()
二.集合操作语句
1.显示当前数据库的集合:show collections
2.创建集合:db.createCollection(name)
3.删除集合:db.集合名称.drop()
三.文档操作语句
1.添加文档(数据):db.集合名称.insert(documentname)
例:db.student.insert({'name':'jack','age':18})
注意:添加文档时,如果不指定_id参数,mongoDB会为文档分配一个唯一的ObjectId
例:db.student.insert({'_id':1,'name':'jack','age':19})
注意:为了和python中语法匹配,键名最好加上单引号。
例:添加多条文档
db.student.insert([
{'name':'jack1','sex':'male',‘age’:18},
{'name':'jack2','sex':'female',‘age’:19},
{'name':'jack3','sex':'male',‘age’:20},])
2.查询文档(数据):db.集合名称.find([conditions])
(1)查看集合中全部数据:db.student.find(),
注意:此处以student集合为例
(2)格式化显示,把需要的内容更好地展示:db.student.find().pretty()
(3)查看满足条件的数据:db.student.find({‘name’:'jack1','age':18})
(4)and条件:{$and:[{condition1},{condition2}...]}
(5)or条件:{$or:[{condition1},{condition2}...]}
(6)and与or混用:
例:db.student.find({$or:[{$and:[{'sex':'male'},{'age':18}]},{$and:[{'college':'清华'},{'family_numbers':4}]}]})
(7)各种操作符汇总:如下所示(例:db.student.find({'age':{'$gt':12}}))
操作符 | 描述 |
---|
$ne | 不等于 |
$lt | 小于 |
$gt | 大于 |
$gte | 大于等于 |
$lte | 小于等于 |
3.修改文档:db.集合名称.update(<query>,<update>,{multi:<boolean>})
(1)修改一条数据:db.student.update({'sex':'male'},{'age':20})
注意:只会更新匹配到的第一条数据,把该数据内全部内容覆盖,覆盖内容为后面一个花括号内的内容
(2)指定属性修改:{$set:{'age':20}}
注意:此语句只更新,不覆盖前面括号的内容
如:db.student.update({'name':'jack'},{$set:{'age':30,'sex':'female'}})
(3)更新集合中所有满足条件的文档(不覆盖原有数据):{multi:true}
如:db.student.update({'sex':'male'},{$set:{'sex':'female'},{multi:true}})
4.删除文档:db.集合名称.remove(<query>,{justone:<boolean>})
(1)删除集合中所有的文档:db.student.remove({})
注意:此处小括号内必有花括号
(2)删除集合内满足条件的所有文档:db.student.remove({'sex':'male'})
(3)只删除集合中满足条件的第一条文档:{justone:true}
db.student.remove({'sex':'male'},{justone:true})
五.python与mangoDB交互
1.安装pymongo :在终端中输入:pip install pymongo
2.python中相关操作语句
(1)建立连接:client = pymongo.MongoClient()
(2)指定数据库:db = client['数据库名']
(3)指定集合:collection = db['集合名']
(4)查找一条/多条文档:collection.find_one()/find_many()
注意:查找所有的语句是collection.find()
(5)添加一条/多条文档:collection.find_one()/find_many()
(6)删除一条/多条文档:collection.delete_one()/delete_many()
(7)修改一条/多条文档:collection.update_one()/update_many()