mongodb基本命令操作

1.创建数据库

语法

use 数据库名字

例如:创建hero数据库

use hero

在这里插入图片描述
查询当前数据库

db

在这里插入图片描述
如果想查询所有的数据库

show dbs

在这里插入图片描述
发现并没有刚刚创建的数据库,如果要显示创建的数据库,需要向表中插入一条记录

db.hero.insert({
    name: "zs",
    age: 20,
    country: "china",
    sex: "男",
    idno: "2131243234"
})

在这里插入图片描述

表数据
在这里插入图片描述
显示数据库hero
在这里插入图片描述

2.删除数据库

创建数据库test,并删除
在这里插入图片描述

删除test数据库命令

db.dropDatabase()

在这里插入图片描述
查询所有的数据库,test已经删除

show dbs

在这里插入图片描述

3.创建集合

创建集合命令

db.createCollection(name, options)

name:创建集合的名字
options:可选参数,指定有关内存大小及索引的选项,可以是下面的参数


capped:布尔值,如果为true,会创建固定集合,具有固定大小的集合,当达到集合最大值的时候,会自动覆盖最早的文档,当该值为true时,必须指定集合的大小

autoIndexId:布尔值,如果为true,会自动在_id字段创建索引,默认值为false

size:为固定集合指定一个最大值,单位为字节

max:指定固定集合中最大的文档数量

例如:在hero数据库中创建mycollection1与mycollection2

use hero

db.createCollection(
    "myCollection1"
)
db.createCollection(
    "myCollection2"
    ,
    {
        capped: true,
        size: 65535,
        max: 1024
    }
)

查看已经存在的集合

show collections

在这里插入图片描述

4.删除集合

删除集合语法格式

db.集合名字.drop()

例如删除myCollection1

db.myCollection1.drop()

在这里插入图片描述

5.集合数据操作

查询数据基本语法

db.集合名字.insertOne(文档)

向users表中插入数据

db.users.insertOne(
    {
        name: "luccy",
        age: 19,
        status: "PP"
    }
)

在这里插入图片描述
查询数据

db.users.find()

在这里插入图片描述

插入多条数据语法格式

db.集合名.insert([文档,文档])

例如:

db.users.insertMany(
    [
        {
            name: "bool",
            age: 99,
            status: "AA"
        },
        {
            name: "yool",
            age: 98,
            status: "AA"
        },
        {
            name: "hoos",
            age: 66,
            status: "DD"
        }
    ]
)

插入数据如下
在这里插入图片描述

6.数据查询

比较条件查询语法

db.集合名.find(条件)
等于:{key:val}
大于:{key:$gt:val}
小于:{key:$lt:val}
大于等于:{key:$gte:val}
小于等于:{key:$lte:val}
不等于:{key:$ne:val}

在这里插入图片描述
分页条件查询语法

db.集合名.find({条件}).sort({排序字段:排序方式})).skip(跳过的行数).limit(一页显示多少
数据)

初始化数据

db.goods.insertMany([
    {
        item: "journal",
        qty: 25,
        size: {
            h: 14,
            w: 21,
            uom: "cm"
        },
        status: "A"
    },
    {
        item: "notebook",
        qty: 50,
        size: {
            h: 8.5,
            w: 11,
            uom: "in"
        },
        status: 
        "A"
    },
    {
        item: "paper",
        qty: 100,
        size: {
            h: 8.5,
            w: 11,
            uom: "in"
        },
        status: "D"
    },
    {
        item: "planner",
        qty: 75,
        size: {
            h: 22.85,
            w: 30,
            uom: "cm"
        },
        status: 
        "D"
    },
    {
        item: "postcard",
        qty: 45,
        size: {
            h: 10,
            w: 15.25,
            uom: "cm"
        },
        status: 
        "A"
    },
    {
        item: "postcard",
        qty: 55,
        size: {
            h: 10,
            w: 15.25,
            uom: "cm"
        },
        status: 
        "C"
    }
]);

在这里插入图片描述

查询所有的数据

db.goods.find()

在这里插入图片描述
条件查询

db.goods.find(
    {
        status: "D"
    }
)

在这里插入图片描述
查询status带有A的,或者带有D的

db.goods.find(
    {
        status: {
            $in: ["A", "D"]
        }
    }
)

在这里插入图片描述
如果想查询status等于A,并且qty<30的

db.goods.find(
    {
        status: "A",
        qty: {
            $lt: 30
        }
    }
)

在这里插入图片描述
查询status:A,或者qty<30的数据

db.goods.find(
    {
        $or: [{
            status: "A"
        }, {
            qty: {
                $lt: 30
            }
        }]
    }
)

在这里插入图片描述
查询status:A,并且(qty<30 or item中是p开头的)

db.goods.find(
    {
        status: "A",
        $or: [{
            qty: {
                $lt: 30
            }
        }, {
            item: /^p/
        }]
    }
)

在这里插入图片描述

嵌套查询,查询size:{h:14,w:21,uom:“cm”}这条数据

db.goods.find(
    {
        size: {
            h: 14,
            w: 21,
            uom: "cm"
        }
    }
)

在这里插入图片描述

嵌套查询,含有标点符号的查询


db.goods.find(
    {
        "size.uom": "in"
    }
)

在这里插入图片描述

7.数组查询

插入数据

db.goods_arr.insertMany([
    {
        item: "journal",
        qty: 25,
        tags: ["blank", "red"],
        dim_cm: [14, 21]
    },
    {
        item: "notebook",
        qty: 50,
        tags: ["red", "blank"],
        dim_cm: [14, 21]
    },
    {
        item: "paper",
        qty: 100,
        tags: ["red", "blank", "plain"],
        dim_cm: [14, 21]
    },
    {
        item: "planner",
        qty: 75,
        tags: ["blank", "red"],
        dim_cm: [22.85, 30]
    },
    {
        item: "postcard",
        qty: 45,
        tags: ["blue"],
        dim_cm: [10, 15.25]
    }
]);

在这里插入图片描述
查询tags中包含两个元素blank,red的所有文档,顺序要一致

db.goods_arr.find(
    {
        tags: ["blank", "red"]
    }
)

在这里插入图片描述
查询tags中包含blank,red的元素,顺序可以不一致

db.goods_arr.find(
    {
        tags: {
            $all: ["red", "blank"]
        }
    }
)

在这里插入图片描述
查询文档中dim_cm数组第二个参数大于25的文档

db.goods_arr.find(
    {
        "dim_cm.1": {
            $gt: 25
        }
    }
)

在这里插入图片描述
查询tags数组长度大于3的文档

db.goods_arr.find(
    {
        "tags": {
            $size: 3
        }
    }
)

在这里插入图片描述

db.goods_null.insertMany([
    {
        _id: 1,
        item: null
    },
    {
        _id: 2
    }
])

插入数据

db.goods_null.insertMany([
    {
        _id: 1,
        item: null
    },
    {
        _id: 2
    }
])

在这里插入图片描述

查询null或者丢失的字段

db.goods_null.find(
    {
        item: null
    }
)

在这里插入图片描述

8.数据更新

数据更新语法

db.集合名.update(
     < query > ,
     < update > ,
    {
        upsert: < boolean > ,
        multi: < boolean > ,
        writeConcern: < document > 
    }
)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

插入数据

db.users.insertMany(
    [
        {
            _id: 7,
            name: "benson",
            age: 19,
            type: 1,
            status: "P",
            favorites: {
                artist: 
                "Picasso",
                food: "pizza"
            },
            finished: [17, 3],
            badges: ["blue", "black"],
            points: [{
                points: 85,
                bonus: 20
            }, {
                points: 85,
                bonus: 10
            }]
        },
        {
            _id: 8,
            name: "yilia",
            age: 42,
            type: 1,
            status: "A",
            favorites: {
                artist: 
                "Miro",
                food: "meringue"
            },
            finished: [11, 25],
            badges: ["green"],
            points: [{
                points: 85,
                bonus: 20
            }, {
                points: 64,
                bonus: 12
            }]
        },
        {
            _id: 9,
            name: "vincent",
            age: 22,
            type: 2,
            status: "A",
            favorites: {
                artist: "Cassatt",
                food: "cake"
            },
            finished: [6],
            badges: ["blue", "Picasso"],
            points: [{
                points: 81,
                bonus: 8
            }, {
                points: 55,
                bonus: 20
            }]
        },
        {
            _id: 10,
            name: "mention",
            age: 34,
            type: 2,
            status: "D",
            favorites: {
                artist: "Chagall",
                food: "chocolate"
            },
            finished: [5, 11],
            badges: [
                "Picasso",
                "black"
            ],
            points: [{
                points: 53,
                bonus: 15
            }, {
                points: 51,
                bonus: 
                15
            }]
        },
        {
            _id: 11,
            name: "carol",
            age: 23,
            type: 2,
            status: "D",
            favorites: {
                artist: 
                "Noguchi",
                food: "nougat"
            },
            finished: [14, 6],
            badges: ["orange"],
            points: 
            [{
                points: 71,
                bonus: 20
            }]
        },
        {
            _id: 12,
            name: "della",
            age: 43,
            type: 1,
            status: "A",
            favorites: {
                food: 
                "pizza",
                artist: "Picasso"
            },
            finished: [18, 12],
            badges: ["black", "blue"],
            points: [{
                points: 78,
                bonus: 8
            }, {
                points: 57,
                bonus: 7
            }]
        }
    ]
)

案例:
下面的例子对 users 集合使用 db.users .update() 方法来更新过滤条件 favorites.artist 等于
“Picasso” 匹配的第一个 文档。

更新操作:
使用 $set 操作符把 favorites.food 字段值更新为 “ramen” 并把 type 字段的值更新为 0。
使用 $currentDate 操作符更新 lastModified 字段的值到当前日期。
如果 lastModified 字段不存在, $currentDate 会创建该字段;

db.users.find(
    {
        "favorites.artist": "Picasso"
    }
)

在这里插入图片描述

db.users.update(
    {
        "favorites.artist": "Picasso"
    }
    ,
    {
        $set: {
            "favorites.food": "famen",
            type: 0
        }
        ,
        $currentDate: {
            lastModified: true
        }
    }
)

在这里插入图片描述
更新多个文档

db.users.update(
    {
        "favorites.artist": "Picasso"
    },
    {
        $set: {
            "favorites.food": "ramen",
             type:10
        },
        $currentDate: {
            lastModified: true
        }
    },
    {
        multi: true
    }
)

在这里插入图片描述
更新单个文档
使用 $set 操作符更新 favorites.food 字段的值为 “Chongqing small noodles” 并更新 type 字段的
值为 3,

db.users.updateOne(
    {
        "favorites.artist": "Picasso"
    }
    ,
    {
        $set: {
            "favorites.food": "狼牙土豆",
            type: 30
        },
        $currentDate: {
            lastModified: true
        }
    }
)

在这里插入图片描述
更新多个文档

db.users.updateMany(
    {
        "favorites.artist": "Picasso"
    },
    {
        $set: {
            "favorites.food": "肉夹馍",
            type: 12
        },
        $currentDate: {
            lastModified: true
        }
    }
)

在这里插入图片描述

替换文档,_id是不可变的,如果包含_id,需要与原来的_id一样

db.users.find(
    {
        "name": "della"
    }
)

在这里插入图片描述

db.users.replaceOne(
    {
        name: "della"
    },
    {
        name: "luise",
        age: 33,
        type: 2,
        status: "P",
        favorites: {
            "artist": "Dali",
            food: "donuts"
        }
    }
)

在这里插入图片描述

9.数据删除

db.collection.remove(
     < query > ,
    {
        justOne: < boolean > ,
        writeConcern: < document > 
    }
)

在这里插入图片描述
在这里插入图片描述
根据条件删除数据

db.goods.remove(
    {
        status: 'A'
    }
)

在这里插入图片描述
删除所有数据

db.goods.remove({})

删除一条数据

db.goods.deleteOne({status:"A"})

删除多条数据

db.goods.deleteMany({status:"A"})

10.聚合操作

添加数据

db.authors.insertMany([
    {
        "author": "Vincent",
        "title": "Java Primer",
        "like": 10
    },
    {
        "author": "della",
        "title": "iOS Primer",
        "like": 30
    },
    {
        "author": "benson",
        "title": "Android Primer",
        "like": 20
    },
    {
        "author": "Vincent",
        "title": "Html5 Primer",
        "like": 40
    },
    {
        "author": "louise",
        "title": "Go Primer",
        "like": 30
    },
    {
        "author": "yilia",
        "title": "Swift Primer",
        "like": 8
    }
])

在这里插入图片描述
求数量

db.authors.count()
db.authors.count(
    {
        "author": "Vincent"
    }
)

在这里插入图片描述

查询字段去重

db.authors.distinct(
    "author"
)

在这里插入图片描述

管道操作
在这里插入图片描述
找出like大于10的

db.authors.aggregate(
    {
        "$match": {
            "like": {
                "$gt": 30
            }
        }
    }
)

在这里插入图片描述

分组,按照id分组

db.authors.aggregate(
    {
        "$match": {
            "like": {
                "$gte": 25
            }
        }
    }
    ,
    {
        "$group": {
            "_id": "$author",
            "count": {
                "$sum": 1
            }
        }
    }
)

在这里插入图片描述
多个字段分组

db.authors.aggregate(
    {
        "$match": {
            "like": {
                "$gte": 10
            }
        }
    },
    {
        "$group": {
            "_id": {
                "author": "$author",
                "like": "$like"
            },
            "count": 
            {
                "$sum": 1
            }
        }
    }
)

在这里插入图片描述
分组求最大值

db.authors.aggregate(
    {
        "$group": {
            "_id": "$author",
            "count": {
                "$max": "$like"
            }
        }
    }
)

在这里插入图片描述

分组求平均值

db.authors.aggregate(
    {
        "$group": {
            "_id": "$author",
            "count": {
                "$avg": "$like"
            }
        }
    }
)

在这里插入图片描述
分组后放在set集合,不重复,无序

db.authors.aggregate(
    {
        "$group": {
            "_id": "$author",
            "like": {
                "$addToSet": "$like"
            }
        }
    }
)

在这里插入图片描述
分组后放在set集合,不重复,有序

db.authors.aggregate(
    {
        "$group": {
            "_id": "$author",
            "like": {
                "$push": "$like"
            }
        }
    }
)

在这里插入图片描述

$project:投射案例

作用:用来排除字段,也可以对现有的字段进行重命名
字段名:0 就是不显示这个字段
字段名:1 就是显示这个字段

db.authors.aggregate(
    {
        "$match": {
            "like": {
                "$gte": 10
            }
        }
    },
    {
        "$project": {
            "_id": 0,
            "author": 1,
            "title": 1
        }
    }
)

在这里插入图片描述

db.authors.aggregate(
    {
        "$match": {
            "like": {
                "$gte": 10
            }
        }
    },
    {
        "$project": {
            "_id": 0,
            "author": 1,
            "B_Name": "$title"
        }
    }
)

在这里插入图片描述

$sort:排序案例
用于对上一次处理的结果进行排序,1:升续 -1:降续

db.authors.aggregate(
    {
        "$match": {
            "like": {
                "$gte": 10
            }
        }
    },
    {
        "$group": {
            "_id": "$author",
            "count": {
                "$sum": 1
            }
        }
    },
    {
        "$sort": {
            "count":  - 1
        }
    }
)

在这里插入图片描述

$limit: 限制条数案例


db.authors.aggregate(
    {
        "$match": {
            "like": {
                "$gte": 10
            }
        }
    },
    {
        "$group": {
            "_id": "$author",
            "count": {
                "$sum": 1
            }
        }
    },
    {
        "$sort": {
            "count": - 1
        }
    },
    {
        "$limit": 1
    }
)

在这里插入图片描述

11.算术表达式案例

对like字段值进行+1操作

db.authors.aggregate(
    {
        "$project": {
            "newLike": {
                "$add": ["$like", 1]
            }
        }
    }
)

在这里插入图片描述

对like字段值减2操作


db.authors.aggregate(
    {
        "$project": {
            "newLike": {
                "$subtract": ["$like", 2]
            }
        }
    }
)

在这里插入图片描述
$multiply
对数组中的多个元素相乘

db.authors.aggregate(
    {
        "$project": {
            "newLike": {
                "$multiply": ["$like", 10]
            }
        }
    }
)

在这里插入图片描述
$divide
数组中的第一个元素除以第二个元素

db.authors.aggregate(
    {
        "$project": {
            "newLike": {
                "$divide": ["$like", 10]
            }
        }
    }
)

在这里插入图片描述
$mod
求数组中第一个元素除以第二个元素的余数

db.authors.aggregate(
    {
        "$project": {
            "newLike": {
                "$mod": ["$like", 3]
            }
        }
    }
)

在这里插入图片描述
$substr
字符串截取操作

db.authors.aggregate(
    {
        "$project": {
            "newTitle": {
                "$substr": ["$title", 1, 2]
            }
        }
    }
)

在这里插入图片描述

$concat
字符串操作:将数组中的多个元素拼接在一起

db.authors.aggregate(
    {
        "$project": {
            "newLike": {
                "$concat": ["$title", "(", "$author", ")"]
            }
        }
    }
)

在这里插入图片描述
$toLower
字符串转小写

db.authors.aggregate(
    {
        "$project": {
            "newTitle": {
                "$toLower": "$title"
            }
        }
    }
)

在这里插入图片描述
$toUpper
字符串操作,转大写

db.authors.aggregate(
    {
        "$project": {
            "newAuthor": {
                "$toUpper": "$author"
            }
        }
    }
)

在这里插入图片描述

新增字段

db.authors.update(
    {},
    {
        "$set": {
            "publishDate": new Date()
        }
    },
    true,
    true
)

在这里插入图片描述

查询月份

db.authors.aggregate(
    {
        "$project": {
            "month": {
                "$month": "$publishDate"
            }
        }
    }
)

在这里插入图片描述
$cmp比较
$cmp: [exp1, exp2]:
等于返回 0
小于返回一个负数
大于返回一个正数

db.authors.aggregate(
    {
        "$project": {
            "result": {
                "$cmp": ["$like", 20]
            }
        }
    }
)

在这里插入图片描述


db.authors.aggregate(
    {
        "$project": {
            "result": {
                "$eq": ["$author", "Vincent"]
            }
        }
    }
)

在这里插入图片描述
$and且
$and:[exp1, exp2, …, expN]
用于连接多个条件,一假and假,全真and为真

db.authors.aggregate(
    {
        "$project": {
            "result": {
                "$and": [{
                    "$eq": ["$author", "Vincent"]
                }, {
                    "$gt": ["$like", 20]
                }]
            }
        }
    }
)

在这里插入图片描述
$or或
$or: [exp1, exp2, …, expN]
用于连接多个条件,一真or真,全假and为假

db.authors.aggregate(
    {
        "$project": {
            "result": {
                "$or": [{
                    "$eq": ["$author", "Vincent"]
                }, {
                    "$gt": ["$like", 20]
                }]
            }
        }
    }
)

在这里插入图片描述
$not取反
$not: exp
用于取反操作


db.authors.aggregate(
    {
        "$project": {
            "result": {
                "$not": {
                    "$eq": ["$author", "Vincent"]
                }
            }
        }
    }
)

在这里插入图片描述

$cond三元运算符
$cond: [booleanExp, trueExp, falseExp]

db.authors.aggregate(
    {
        "$project": {
            "result": {
                "$cond": [{
                    "$eq": ["$author", "Vincent"]
                }, "111", "222"]
            }
        }
    }
)

在这里插入图片描述

$ifNull非空
$ifNull: [expr, replacementExpr]
如果条件的值为null,则返回后面表达式的值,当字段不存在时字段的值也是null


db.authors.aggregate(
{"$project": {
"result": {"$ifNull": ["$publishDate", "not exist is null"]}}
}
)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/297320.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【论文精读】A Survey on Large Language Model based Autonomous Agents

A Survey on Large Language Model based Autonomous Agents 前言Abstract1 Introduction2 LLM-based Autonomous Agent Construction2.1 Agent Architecture Design2.1.1 Profiling Module2.1.2 Memory ModuleMemory StructuresMemory FormatsMemory Operations 2.1.3 Plannin…

easyrecovery16 (硬盘数据恢复软件)免费版

EasyRecovery是由球著名数据厂商Kroll Ontrack出品的一款便捷实用&#xff0c;功能强大的硬盘数据恢复软件。它能够全面恢复删除丢失数据&#xff0c;支持包括文档、表格、图片、音视频等各种文件类型。支持恢复不同存储介质数据&#xff1a;硬盘、光盘、U盘/移动硬盘、数码相机…

Docker、Docker-compose安装

安装Docker 1.卸载旧版 首先如果系统中已经存在旧的Docker&#xff0c;则先卸载&#xff1a; yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine2.配置Docker的yum库 首先…

微服务实战系列之API加密

前言 随着一阵阵凛冽寒风的呼啸&#xff0c;新的年轮不知不觉滚滚而来。故事随着2023的远去&#xff0c;尘封于案底&#xff1b;希望迎着新年&#xff0c;绽放于枝头。在2024新岁启航&#xff0c;扬帆破浪之时&#xff0c;让烦恼抛洒于九霄&#xff0c;让生机蓬勃于朝朝暮暮。 …

一张图告诉你商标和版权的区别

版权和商标之间存在以下关系&#xff1a; 1.关联性&#xff1a;版权和商标权均为知识产权&#xff0c;受相关法律保护。 2.区别性&#xff1a;版权自动产生&#xff0c;且作用于已经完成的作品&#xff0c;而商标专用权需要注册取得&#xff0c;且作用于商标标识。 此外&…

算法通关村第二十关-黄金挑战图的常见算法

大家好我是苏麟 , 今天聊聊图的常见算法 . 图里的算法是很多的&#xff0c;这里我们介绍一些常见的图算法。这些算法一般都比较复杂&#xff0c;我们这里介绍这些算法的基本含义&#xff0c;适合面试的时候装*&#xff0c;如果手写&#xff0c;那就不用啦。 图分析算法&#xf…

文件夹重命名方法:提高效率减少错误,中英文批量翻译文件夹名称

在日常生活和工作中&#xff0c;经常要处理大量的文件夹&#xff0c;无论是整理电脑上的文件&#xff0c;还是为项目分类。如何快速、准确地重命名这些文件夹&#xff0c;对于提高工作效率和减少错误至关重要。现在来看下云炫文件管理器一些实用的文件夹重命名方法&#xff0c;…

STM32时钟树

一、四个时钟源 二、时钟树 各类时钟简括&#xff1a; 1.HSE时钟&#xff08;高速外部时钟&#xff09;&#xff1a;来源为外部无源晶振&#xff0c;通常速度8M。 2.HSI时钟&#xff08;高速内部时钟&#xff09;&#xff1a;来源为芯片内部&#xff0c;大小为8M&#xff0c;当…

基于sumo实现交通灯控制算法的模板

基于sumo实现交通灯控制算法的模板 目录 在windows安装run hello world networkroutesviewsettings & configurationsimulation 交通灯控制系统 介绍文件生成器类&#xff08;FileGenerator&#xff09;道路网络&#xff08;Network&#xff09;辅助函数生成道路网络&am…

2024年阿里云优惠活动清单_优惠代金券领取大全

阿里云服务器优惠活动大全包括&#xff1a;云服务器新人特惠、云小站、阿里云免费中心、学生主机优惠、云服务器精选特惠、阿里云领券中心等&#xff0c;活动上阿里云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、轻量应用服务器2核2G3M带宽轻量服务器一年61元&#xff0c;…

Servlet 3.0的异步处理

1、传统Servlet处理 Web容器会为每个请求分配一个线程&#xff0c;默认情况下&#xff0c;响应完成前&#xff0c;该线程占用的资源都不会被释放。若有些请求需要长时间(例如长处理时间运算、等待某个资源)&#xff0c;就会长时间占用线程所需资源&#xff0c;若这类请求很多&…

L1-078:吉老师的回归

题目描述 曾经在天梯赛大杀四方的吉老师决定回归天梯赛赛场啦&#xff01; 为了简化题目&#xff0c;我们不妨假设天梯赛的每道题目可以用一个不超过 500 的、只包括可打印符号的字符串描述出来&#xff0c;如&#xff1a;Problem A: Print "Hello world!"。 众所周知…

Python基础入门第七课笔记(自定义函数 define)

函数 函数必须先定义再调用 函数必须先定义再调用 函数必须先定义再调用 定义函数&#xff1a; def 函数名&#xff08;形参&#xff09;&#xff1a; 代码1 代码2 ………. 调用函数&#xff1a; 函数名&#xff08;实参&#xff09; 形参&…

【AI视野·今日CV 计算机视觉论文速览 第281期】Tue, 2 Jan 2024

AI视野今日CS.CV 计算机视觉论文速览 Tue, 2 Jan 2024 Totally 95 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computer Vision Papers Refining Pre-Trained Motion Models Authors Xinglong Sun, Adam W. Harley, Leonidas J. Guibas考虑到在视频中手动注释运…

分布式(6)

目录 26.雪花算法如何实现的&#xff1f; 27.雪花算法有什么问题&#xff1f;有哪些解决思路&#xff1f; 28.有哪些方案实现分布式锁&#xff1f; 29.基于数据库如何实现分布式锁&#xff1f;有什么缺陷&#xff1f; 30.基于Redis如何实现分布式锁&#xff1f;有什么缺陷&…

LIDAR激光雷达反射板

LIDAR&#xff08;Light Detection And Ranging&#xff09;系统是一种集激光、全球定位系统&#xff08;GPS&#xff09;和惯性导航系统&#xff08;INS&#xff09;三种技术于一身的系统&#xff0c;用于获得点云数据并生成精确的数字化三维模型。 LIDAR系统包括一个单束窄带…

Pycharm打包程序为exe文件

Pycharm打包程序为exe文件 【一】导入模块pyinstaller 【1】图片说明 【2】文字说明 根据图片顺序执行 首先点击file进入settings界面&#xff0c;在setting界面找到Project下面的Python Interpretor&#xff0c;点击号进行模块的添加在搜索框中输入pyinstaller&#xff0c;…

【Proteus仿真】【Arduino单片机】水箱液位监控系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器&#xff0c;使用LCD1602液晶、按键、蜂鸣器、液位传感器、ADC转换器、水泵等。 主要功能&#xff1a; 系统运行后&#xff0c;LCD1602显示当前水位、上下限阈…

正交投影矩阵与透视投影矩阵的推导

正交投影矩阵 正交投影矩阵的视锥体是一个长方体 [ l , r ] [ b , t ] [ f , n ] [l,r][b,t][f,n] [l,r][b,t][f,n]&#xff0c;我们要把这个长方体转换到一个正方体 [ − 1 , 1 ] [ − 1 , 1 ] [ − 1 , 1 ] [-1,1][-1,1][-1,1] [−1,1][−1,1][−1,1]中&#xff0c;如下图所…

【KD】知识蒸馏(knowledge distillation)简单介绍

最近学到了知识蒸馏的相关知识&#xff0c;来简单总结一下૮꒰ ˶• ༝ •˶꒱ა。 知识蒸馏 知识蒸馏&#xff0c;是一种模型压缩的手段。通过训练学生模仿教师的行为&#xff0c;将嵌入在大的教师模型中的知识迁移到小的学生模型。 例如&#xff0c;TinyBERT(Jiao et al.,2…