mongoDB基本语句
一、mongo数据指令
1.创建数据库/切换到某个数据库
use 数据库名
2.查看数据库
show dbs
3.查看当前在某个数据库下
db
4.创建数据表
db.createCollection(“集合名”) 集合名即是表名
5.删除数据库
db.dropDatabase()
6.查看数据表
show tables/show collections
7.添加数据
01->添加单挑数据
db.collecitonName.insert({})
02->添加多条数据
db.collecitonName.insert([{},{},{},......])
8.更新数据
01->db.collecitonName.update(condition,{$set:documet})
#修改和condition条件匹配的数据,只修改单条数据
02->db.collectionName.update(condition,data)
#直接将匹配到的数据替换成data,只修改单条数据
03->db.collecitonName.update(condition,{$set:data},{multi:true})
#修改和condition条件匹配的数据,只修改多条数据
04->db.collectionName.save\
({ "_id" : ObjectId("5b02727841001552d7adde9e"),....})
#修改和给定id相匹配的数据,如果匹配成功,则直接替换
05->db.collecitonName.save({....})
#如果save不使用id作为查找条件,则直接添加新的数据到表中
9.删除数据
01->db.collecitonName.remove(condition,justOne)
condition:删除数据的条件
justOne:是否只删除一条匹配到的数据
001->删除匹配到的所有数据
db.collecitonName.remove(condition)
002->删除匹配到的第一条数据
db.collecitonName.remove(condition,true/1)
02->删除所有的数据
db.collecitonName.remove({})
10.查询数据
01->查询所有数据
db.collecitonName.find()
02->美化查询得到的数据
db.collecitonName.find().pretty()
03->仅查找一条数据
db.collecitonName.findOne()
04->条件查找之数学运算符
操作 语法 示例
相等 <key>:<value> where by = 'yiibai'
小于 {$lt:50} where likes < 50
小于等于 {$lte:50} where likes <= 50
大于 {$gt:50} where likes > 50
大于等于 {$gte:50} where likes >= 50
不等于 {$ne:50} where likes != 50
11.逻辑条件查询
01->条件与 AND
db.collecitonName.find({key1:condition1,key2:condition2,....})\
.pretty()查找同时满足key1的符合condition1并且key2的值符合condition2\
的所有数据
02->条件或 OR
db.collecitonName.find({$or:[condition1,condition2,....]})
例如:condition1={subject:"语文"},condition2={subject:"化学"}
查找科目为语文或者化学的所有学生的成绩
03->AND和OR一起使用
db.score.find({$or:[{subject:"语文"},\ #换行
{subject:"化学"}],score:{$gt:87}})
查找学科为语文或者化学并且分数要大于87分的所有学生的成绩
12mongoDB分页查询
01->限定查找文档的个数
db.collectionName.find().linmit(number)
获取number条数据
02->跳过若干数据进行数据的查找
db.collectionName.find().skip(number)
二、 python操作mongo基本格式
from pymongo import MongoClient #连接mongoDB数据库
connect=MongoClient("localhost") #关联某个数据库
db=connect.school
#连接名点数据库名字
# 关联的数据库存在,则直接关联;关联的数据库要是不存在,则创建新的数据库
grade_1_3 = db.grade_1_3 #关联数据表的逻辑和关联数据库的逻辑一样
result=grade_1_3.find({},{'_id':0}) #表的相关操作
for document in result:
print(document)
连接多个
from pymongo import MongoClient
class Connect:
def __init__(self,dbName,collection): #里面有一个库
self.con=MongoClient("localhost") #连接
self.db=self.con[dbName] #关联数据库
self.collection=self.db[collection] #连表
def get(self):
return self.collection
if __name__=="__main__":
test=Connect("myschool","grade_1_3").get()
#创建一个事例,从con中获得一个表的实例
scores=test.find({},{"_id":0})
for doc in scores:
print(doc)