使用数据库,有则使用,没有则创建
use firstdb;
插入一条数据 创建了一个表并插入一条数据
db.stu.insertOne({'name':'zhangsan','age':18})
插入多条数据 创建stu表并且插入多条
db.stu.insertMany([{'name':'one','age':1},{'name':'two','age':2}])
查询所有
db.stu.find()
{ "_id" : ObjectId("60a35a4da037b1fe70de4299"), "name" : "zhangsan", "age" : 18 }
{ "_id" : ObjectId("60a35a84a037b1fe70de429a"), "name" : "lisi", "age" : 19 }
{ "_id" : ObjectId("60a35b9da037b1fe70de429b"), "name" : "one", "age" : 1 }
{ "_id" : ObjectId("60a35b9da037b1fe70de429c"), "name" : "two", "age" : 2 }
{ "_id" : ObjectId("60a35d1ca037b1fe70de429d"), "username" : "account", "password" : 123 }
按条件查找
db.stu.find({'age':{$gt:1}}) 查询stu表中年龄大于1的
db.stu.find({'age':{$gt:1,$lt:3}}) 查询stu表中年龄大于1的小于3的
db.stu.find({'age':{$type:'double'}}) 查询stu表中年龄字段是数字的
db.stu.find({'age':{$type:'string'}}) 查询stu表中年龄字段是字符串的
db.stu.find({'age':{$type:'double'}}).limit(1) 查询stu表中年龄字段是数字的并且取第一条
db.stu.find({'age':{$type:'double'}}).limit(2).skip(2) 查询stu表中年龄字段是数字的并且跳过2两条,再取第两条 相当于取第三四条
skip是跳过几条,limit是取前几条
删除一条数据
db.stu.remove({'name':'zhangsan'}) 删除了张三这条数据 有多少个符合,删除多少条
更新
db.stu.update({'name':'one'},{$set:{'age':111}}) 查到name是小明数据,更新它的年龄
安装mongodb
pip install pymongo
连接数据库
my_client = pymongo.MongoClient('mongodb://127.0.0.1:27017/')
语句
import pymongo
# 创建一个连接
my_client = pymongo.MongoClient('mongodb://127.0.0.1:27017/')
# 获取所有数据库
# dblist = my_client.list_database_names()
# print(dblist)
# 连接某个数据库
firstdb = my_client['firstdb']
# 添加
def add():
stutable = firstdb['stu']
stutable.insert_one({'name':'函数插入','age':55})
#修改
def update():
stutable = firstdb['stu']
stutable.update_one({'name':'函数插入'},{'$set':{'age':551}})
#查询
def find():
stutable = firstdb['stu']
res = stutable.find({'age':{'$type':'string'}})
res1 = stutable.find({'age':{'$gt':2,'$lt':112}}) #年龄大于2小于112 ,大于gt、大于等于gte、小于lt 、小于等于lte
for i in res1:
print(i)
#删除
def delete():
stutable = firstdb['stu']
# stutable.remove()
stutable.delete_many({'age':'55'}) #年龄是字符串55