mongodb基本命令操作

news2024/11/17 23:50:38

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"]}}
}
)

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

具有低待机电流,抗电压波动等特性的抗干扰液位检测/2点水位检测IC-VK36W2D SOP8

产品型号&#xff1a;VK36W2D 产品品牌&#xff1a;永嘉微电/VINKA 封装形式&#xff1a;SOP8 原厂&#xff0c;工程服务&#xff0c;技术支持&#xff01; 概述 VK36W2D具有2个触摸检测通道&#xff0c;可用来检测外部2个点的水从无到有和水从有到无的动作。该芯片具有较高…

给充电桩嵌入一个强大的“心脏”——工控机

到底什么样的工控机才算是真正的好用&#xff1f; 小编还特地去问了技术老王 他表示&#xff1a;稳定第一&#xff0c;性能第二&#xff01; 不稳定&#xff0c;性能再好也白搭&#xff01; 什么是工控机呢&#xff1f; 工控机是一种专门为工业现场而设计的计算机设备&…

高功率电源PCB设计中变压器底层走线的关键要点

高功率电源的设计中&#xff0c;变压器起到了电能的传递与转换的重要作用。变压器下方的走线设计不仅涉及到电路的功率传输效率&#xff0c;还与电磁兼容性&#xff08;EMC&#xff09;、热管理以及电路的可靠性密切相关。 1. 走线布局 在进行变压器下方走线设计时&#xff0c…

视频剪辑方法:智能转码从视频到图片序列,高效转换攻略

在视频编辑和后期处理中&#xff0c;经常要将视频转换为图片序列&#xff0c;以便进行单独编辑或应用。下面一起来看云炫AI智剪如何批量智能转码的方法&#xff0c;高效地将视频转换为图片序列。 视频转为序列图片缩略图效果 视频转为序列图片的效果图&#xff0c;画面清晰&a…

JHipster - Spring Boot 的快速开发利器

产品介绍&#xff1a; JHipster是一个开源的、全面的应用程序生成器&#xff0c;它能够帮助开发者快速生成Spring Boot Angular/React/Vue.js的完整应用程序。它不仅提供了一个简单的界面来定义应用程序的配置&#xff0c;还提供了一组强大的代码生成器&#xff0c;可以在数分…

Lumerical Monitors------ Global properties

Lumerical Monitors------ Global properties Global properties 全局属性 Global properties 全局属性 在 Lumerical 中&#xff0c;这里以 FDTD 工程文件举例&#xff0c;所有的 monitors 都可以通过上方选项卡中的 monitor 标签页添加。 注意上面有一个 Global properties…

Unity中URP下使用屏幕坐标采样深度图

文章目录 前言一、Unity使用了ComputeScreenPos函数得到屏幕坐标1、 我们来看一下这个函数干了什么2、我们看一下该函数实现该结果的意义 二、在Shader中使用&#xff08;法一&#xff09;1、在Varying结构体中2、在顶点着色器中3、在片元着色器中 三、在Shader中使用&#xff…

JUC Lock 计数锁

文章目录 Semaphore继承关系图构造函数常用 API示例总结 CountDownLatch继承关系图构造函数常用 API示例 CyclicBarrier原理构造方法常用 API示例 Semaphore Semaphore字面意思是信号量。主要用于控制有限的资源的访问数量。比如&#xff1a;公共厕所有5个蹲位&#xff0c;但有…

Android readelf 工具查找函数符号

ELF&#xff08;Executable and Linkable Format&#xff09;是一种执行文件和可链接文件的格式。它是一种通用的二进制文件格式&#xff0c;用于在各种操作系统中存储可执行程序、共享库和内核模块。 Android 开发当中的 so 库本质上就是一种特殊类型的 ELF 文件&#xff0c;…

【JAVA GUI+MYSQL]社团信息管理系统

本社团信息管理系统主要实现登录注册、管理员信息管理、社团用户信息管理、用户申请信息管理功能模块。 目录 &#xff11;&#xff0e;系统主要功能介绍 &#xff12;&#xff0e; 数据库概念模型设计 3.具体功能模块的实现 3.1模型类 3.1.1Student.java 3.1.2User .j…

HarmonyOS应用开发学习笔记 UIAbility组件与UI的数据同步 EventHub、globalThis

1、 HarmoryOS Ability页面的生命周期 2、 Component自定义组件 3、HarmonyOS 应用开发学习笔记 ets组件生命周期 4、HarmonyOS 应用开发学习笔记 ets组件样式定义 Styles装饰器&#xff1a;定义组件重用样式 Extend装饰器&#xff1a;定义扩展组件样式 5、HarmonyOS 应用开发…

Linux基础知识点(九-POSIX信号量)

目录 一、基本概念 二、有名信号量 三、无名信号量 一、基本概念 信号量&#xff08;Semaphore&#xff09;是一种实现进程/线程间通信的机制&#xff0c;可以实现进程/线程之间同步或临界资源的互斥访问&#xff0c; 常用于协助一组相互竞争的进程/线程来访问临界资源。在多…

洛谷 P1217 [USACO1.5] 回文质数 Prime Palindromes 刷题笔记

P1217 [USACO1.5] 回文质数 Prime Palindromes - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路 直接枚举 减枝优化判断 优化1 只有偶数才会是质数 优化2 回文数的判断次数要优于检查素数 先判断是否为回文数再检查是否为质数 if( hw(i)&&isprime(i)) 这里…

前端根据URL地址实现下载(txt,图片,word,xlsx,ppt)

前端根据URL地址实现下载&#xff08;txt&#xff0c;图片&#xff0c;word&#xff0c;xlsx&#xff0c;ppt&#xff09; 一、对于txt,图片类的二、对于word&#xff0c;xlsx&#xff0c;ppt类的1.a标签可以实现下载2. window.open&#xff08;&#xff09; 一、对于txt,图片类…

Dijkstra算法——邻接矩阵实现+路径记录

本文是在下面这篇文章的基础上做了一些补充&#xff0c;增加了路径记录的功能。具体Dijkstra的实现过程可以参考下面的这篇文章。 [jarvan&#xff1a;Dijkstra算法详解 通俗易懂](Dijkstra算法详解 通俗易懂 - jarvan的文章 - 知乎 https://zhuanlan.zhihu.com/p/338414118) …

一方水土,一方气运

峰民风水悟语&#xff1a;“地灵人杰”&#xff0c;一方好水土&#xff0c;养育一方好人才。风水&#xff0c;就是一个地方的山水之气&#xff0c;会影响一个地方的人。正所谓&#xff1a;“山清水秀出美人&#xff0c;穷山恶水出刁民”就是这个理。 古人认为环境的能量磁场能控…

oracle19c容器数据库rman备份特性-----性能优化(三)

目录 冗余备份片 1.备份的时候指定 2.rman配置中设定 归档备份&#xff08;将备份集保留&#xff09; 二级备份&#xff08;将备份文件保留&#xff09; 1.备份闪回恢复区的恢复文件 2.备份所有恢复文件 recovery catalog database 1.創建recovery catalog 2.创建VPC…

cocos creator 如何绑定参数到编辑器

很多cocos creator同学不知道如何绑定组件属性到编辑器上&#xff0c;今天我们来教大家如何绑定 1: 基本数据属性绑定到编辑器 这个非常简单&#xff0c;模板是属性名字: 默认的值; Is_debug: false, speed: 100, 2: 系统组件类型与节点绑定到编辑器 属性名字: { type: 组件…

少儿编程 中国电子学会图形化编程2022年9月等级考试Scratch二级真题解析(选择题、判断题)

一、单选题(共25题&#xff0c;每题2分&#xff0c;共50分) 一、单选题(共25题&#xff0c;共50分) 1.数列&#xff1a;1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;6&#xff0c;9&#xff0c;13&#xff0c;19&#xff0c;28&#xff0c;...的下一项是多少&#…

竞赛保研 基于深度学习的人脸性别年龄识别 - 图像识别 opencv

文章目录 0 前言1 课题描述2 实现效果3 算法实现原理3.1 数据集3.2 深度学习识别算法3.3 特征提取主干网络3.4 总体实现流程 4 具体实现4.1 预训练数据格式4.2 部分实现代码 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 毕业设计…