MongoDB 学习笔记

数据库
增加

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'
    }
)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值