23.MongoDB

MongoDB

库操作

进入
mongo
退出
exit
切换/创建库 有就切换没有就新增
use 库名
查所有
show dbs
库的所在位置
db
删除库
db.dropDatabase()

集合操作

创建集合
db.createCollection('stu')
查看当前数据库的集合
show collections
删除集合
db.stu.drop()

文档操作

插入一条
        语法
            db.集合名称.insert(文档)
        实例
            db.stu.insert({'_id':3,name:'小明',age:18})

    插入多条
        语法
            db.集合名称.insert([
                一条文档,
                二条文档,
                三条文档
            ])

        实例
            db.stu.insert([
                {name:'小白',sex:'男',age:18},
                {name:'小黄',sex:'男',age:18},
                {name:'小红',sex:'女',age:16},
            ])

 一般整体查询
        语法
            db.集合名称.find()
        实例
            db.stu.find()

    美式整体查询
        语法
            db.集合名称.find().pretty()
        实例
            db.stu.find().pretty()

    指定查询
        语法
            db.集合名称.find(某个文档)
         实例
            db.stu.find({name:'小明'})

    筛选
        语法
            db.集合名称.find({某个文档的key:values为1代表显示/values为0代表不显示})
        实例
            查询小明的年龄
            db.stu.find({name:'小明'},{age:1})
            查询小明的名字
            db.stu.find({name:'小明'},{age:0})

        逻辑运算符
            and 与
            or 或

        比较运算符
            gt 大于
            lt 小于
            gte 大于或等于
            lte 小于或等于
            ne  不等于

        语法
            {$and:[包含多个条件]}
            {$or:[包含多个条件]}
        实例
            性别女,并且年龄为16岁
            db.stu.find({$and:[{sex:'女'},{age:16}]})
            查询条件1或条件2的数据
            db.stu.find({$or:[
            {$and:[{sex:'女'},{age:16}]},
            {$and:[{sex:'男'},{age:{$gte:18}}]}
            ]})

只会修改一条数据 并且其他字段也没有了(删掉)
db.stu.update({name:'小红'},{name:'小红红红'})
只会修改一条数据 并且其他字段保留
db.stu.update({name:'小白'},{$set:{age:66}})
修改多条数据并且其他字段保留
db.stu.update({name:'小黄'},{$set:{age:66}},{multi:true})

只删除符合条件的一条数据
db.stu.remove({age:66},{justOne:true})
只删除符合条件的所有数据
db.stu.remove({age:16})
删除所有数据
db.stu.remove({})

pymongo

封装一个pymongo类,方便调用

import pymongo

class MyMongoDB:
    # 初始化链接库
    def __init__(self,database,collection):
        self.client = pymongo.MongoClient('127.0.0.1',27017)
        # 指定数据库
        self.db = self.client[database]
        # 指定集合
        self.collection = self.db[collection]

    # 插入数据
    def insert(self,*values):
        if len(values) == 1:
            self.collection.insert_one(values[0])
        else:
            self.collection.insert_many(list(values))

    # 修改数据
    def update(self,data,new_data,m=False):
        if m:
            self.collection.update_many(data,{'$set':new_data})
        else:
            self.collection.update_one(data,{'$set':new_data})

    # 删除数据
    def delete(self,data,m=False):
        if m:
            self.collection.delete_many(data)
        else:
            self.collection.delete_one(data)

    # 查询数据
    def find(self,data={},m=False):
        if m:
            result  = self.collection.find(data)
            for i in result:
                print(i)
        else:
            result = self.collection.find_one(data)
            print(result)

if __name__ == '__main__':

    a = MyMongoDB('mydbA6','stu')
    print(a)

    # 插入一个数据
    a.insert({'name':'dahai1'})
    # 插入多个数据
    a.insert({'name':'dahai2'},{'name':'dahai3'})
    # 修改多条数据
    a.update({'name':'dahai2'},{'name':'dahai2222'})
    # 修改多条数据
    a.update({'name':'dahai2'},{'name':'dahai2222'},True)
    # 删除指定的一条数据
    # a.delete({'name':'dahai2222'})
    # 删除指定的多条数据
    # a.delete({'name':'dahai2222'},True)
    # 删除全部
    # a.delete({},True)

    # 查找一个数据
    a.find({'name':'dahai1'})
    # 查找全部数据
    a.find({}, True)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值