数据库
增加
use db1
查看
show dbs
删除
use db1
db.dropDatabase()
集合
增加
use db1
db.user.insert({'a':1})
查看
show tables
删除
use db1
db.user.drop()
文档
增
use db1
user0={
"name":"egon",
"age":10,
'hobbies':['music','read','dancing'],
'addr':{
'country':'China',
'city':'BJ'
}
}
db.user.insert(user0)
db.user.find().pretty()
db.user.insertMany([user1,user2,user3])
db.user.insertMany([user4,user5])
查
use db1
一:比较运算:=,!=,>,<,>=,<=
1、select * from db1.user where id = 3;
db.user.find({'_id':3})
2、select * from db1.user where id != 3;
db.user.find({'_id':{"$ne":3}})
3、select * from db1.user where id > 3;
db.user.find({'_id':{"$gt":3}})
4、select * from db1.user where id < 3;
db.user.find({'_id':{"$lt":3}})
5、select * from db1.user where id <= 3;
db.user.find({'_id':{"$lte":3}})
6、select * from db1.user where id < 3;
db.user.find({'_id':{"$gte":3}})
二:and,or,not
1、select * from db1.user where id >= 3 and id <= 4;
db.user.find({'_id':{"$gte":3,"$lte":4}})
2、select * from db1.user where id >= 3 and age <= 40;
db.user.find(
{
"_id":{"$gte":3},
"age":{"$lte":40}
}
)
3、select * from db1.user where id > 4 or name = 'alex';
db.user.find(
{"$or":[
{"_id":{"$gt":4}},
{"name":"alex"}
]})
4、select * from db1.user where id % 2 = 1;
db.user.find({"_id":{"$mod":[2,1]}})
5、取反
db.user.find({"_id":{"$mod":[2,0]}})
db.user.find({"_id":{"$not":{"$mod":[2,1]}}})
三:成员运算int,not in
1、select * from db1.user where id in (2,3,5)
db.user.find({"_id":{"$in":[2,3,5]}})
2、select * from db1.user where id not in (2,3,5)
db.user.find({"_id":{"$nin":[2,3,5]}})
四:正则匹配
1、select * from db1.user where name regexp "^j.*?(g|n)$";
db.user.find({"name":/^j.*?(g|n)$/i})
五:取指定字段
1、select name,hobbies from db1.user where name regexp "^j.*?(g|n)$";
db.user.find({"name":/^j.*?(g|n)$/i},{"name":1,"hobbies":1,"_id":0})
六:查询数组
#只要有tea就可以
db.user.find({"hobbies":'tea'})
#既有dancing又有music的爱好
db.user.find({"hobbies":{"$all":['dancing','music']}})
#查出第二个爱好为喝酒的人
db.user.find({"hobbies.1":"drink"})
#查出所有人的最后两个爱好
db.user.find({},{"_id":0,"name":0,"age":0,"addr":0,"hobbies":{"$slice":-2}})
#查出所有人的第1到3个爱好
db.user.find({},{"_id":0,"name":0,"age":0,"addr":0,"hobbies":{"$slice":[0,3]}})
七:排序
db.user.find({"age":{"$gt":20}}).sort({"_id":1})
db.user.find({"age":{"$gt":20}}).sort({"_id":-1})
db.user.find({"age":{"$gt":20}}).sort({"_id":1,"age":-1})
八:分页
db.user.find({"age":{"$gt":20}}).limit(1)
db.user.find({"age":{"$gt":20}}).limit(4).skip(2)
九:获取数量
db.user.find().count()
改:update db1.user set name="WXX" where name = "wupeiqi";
#覆盖式
#方式一:
db.user.update({"name":"wupeiqi"},{"name":"WXX"})
db.user.update({"name":"WXX"},{"_id":10})
#方式二:
obj=db.user.findOne({"name":"WXX"})
obj.username=obj.name
delete obj.name
obj.age=18
db.user.update({"name":"WXX"},obj)
#方式三:专门做覆盖
db.user.save({"name":"WXX"},{"_id":2,"a":1}) #没有则新增
db.user.save({"name":"WXX"},{"_id":ObjectId("5a5db6e5626e3d436981fb30"),"a":1}) #没有则新增
#$set:update db1.user set name="Alex",age=11 where name = "alex";
db.user.update({"name":"alex"},{"$set":{"name":"Alex","age":11}})
#update db1.user set age=22 where age > 30;
db.user.update({"age":{"$gt":30}},{"$set":{"age":22}})
#{"multi":true}
db.user.update({"age":{"$gt":23}},{"$set":{"age":27}},{"multi":true})
db.user.update({"name":"Alex"},{"$set":{"addr.country":"Japan"}})
db.user.update({"name":"Alex"},{"$set":{"hobbies.1":"drink"}})
db.user.update({"name":"Alex"},{"$unset":{"hobbies":""}})
db.user.update({},{
"$inc":{"age":-1}
},
{"multi":true}
)
db.user.update({"name":"yuanhao"},{"$push":{"hobbies":'read'}})
db.user.update({"name":"yuanhao"},{"$push":{"hobbies":{"$each":["tea","dancing"]}}})
db.user.update({"name":"yuanhao"},{"$pop":{"hobbies":-1}})
db.user.update({"name":"yuanhao"},{"$pop":{"hobbies":1}})
db.user.update({"name":"yuanhao"},{"$pull":{"hobbies":["read"]}})
db.urls.update({"_id": ObjectId("5a5dbb31626e3d436981fb33")},{"$addToSet":{"urls":"https://www.baidu.com"}})
db.urls.update({"_id": ObjectId("5a5dbb31626e3d436981fb33")},{"$addToSet":{"urls":{"$each":[
"https://www.baidu.com",
"https://www.baidu.com",
"https://www.baidu.com",
"https://www.oldboy.com",
"https://www.oldgirl.com"
]}}})
删
db.user.deleteMany({"_id":{"$gte":4}})
db.user.deleteOne({"_id":{"$gte":1}})
db.user.deleteMany({})
db.user.save({"_id":1,"name":"alesssx"})
pymongo 使用
pip install pymongo
from pymongo import MongoClient
#1、链接
client=MongoClient('mongodb://root:123@localhost:27017/')
# client = MongoClient('localhost', 27017)
#2、use 数据库
db=client['db2'] #等同于:client.db1
#3、查看库下所有的集合
print(db.collection_names(include_system_collections=False))
#4、创建集合
table_user=db['userinfo'] #等同于:db.user
#5、插入文档
import datetime
user0={
"_id":1,
"name":"egon",
"birth":datetime.datetime.now(),
"age":10,
'hobbies':['music','read','dancing'],
'addr':{
'country':'China',
'city':'BJ'
}
}
user1={
"_id":2,
"name":"alex",
"birth":datetime.datetime.now(),
"age":10,
'hobbies':['music','read','dancing'],
'addr':{
'country':'China',
'city':'weifang'
}
}
# res=table_user.insert_many([user0,user1]).inserted_ids
# print(res)
# print(table_user.count())
#6、查找
# from pprint import pprint#格式化细
# pprint(table_user.find_one())
# for item in table_user.find():
# pprint(item)
# print(table_user.find_one({"_id":{"$gte":1},"name":'egon'}))
#7、更新
table_user.update({'_id':1},{'name':'EGON'})
#8、传入新的文档替换旧的文档
table_user.save(
{
"_id":2,
"name":'egon_xxx'
}
)