Mongodb使用

使用数据库,有则使用,没有则创建

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值