Mongodb基本操作

LT码与Raptor码的性能仿真 从数据分析看来,在数据块大小较小时(100 - 200 左右 ),LT 码和 Raptor 码的平均冗余符号数量差距相对较小,但 LT 码的冗余符号数量始终高于 Raptor 码。现在采用MATLAB进行仿真,直观展示不同数据块大小下,两种解码方式的解码时间差异.如图4.1所示,LT解码(绿色圆点折线)LT 解码方式的解码时间随数据块大小的变化情况。从实际应用的角度来看,LT码由于其简单的编码机制,适用于资源受限或对编码效率要求较高的场景,但其较高的解码复杂度限制了其在一些实时性要求较高的应用中的使用。 阅读详情

mongodb的官方文档请查看:https://docs.mongodb.com/manual/reference/update-methods/

1.db.getCollection('二手房').find({},{province:1}) (投影,只取province这个字段)

 

image.png

2.db.getCollection('二手房').find({},{province:1}).forEach(function(item){
db.getCollection('测试表1').save(item)
}) (取出想要的字段,然后保存在不同的表中)

 

image.png

3.db.getCollection('二手房').find({},{area:1,unit_price:1,})
.forEach(function(row){
area = row.area
unit_price = row.unit_price
area = area.replace('平米','');
unit_price = unit_price.replace('元/平米','');
row.area = area
row.unit_price = unit_price
db.getCollection('新表2').save(row);

}) (把字段中的文字替换为空再插入例外一张表)

image.png

4.db.getCollection('二手房').find({})
.forEach(function(item){
item.area = parseFloat(item.area);
item.unit_price = parseFloat(item.unit_price);
item.attention = parseFloat(item.attention);
sees = String(item.sees);
print(sees);
sees = sees.replace(' 共','');
print(sees);
item.sees = parseFloat(sees);
item.total_price = parseFloat(item.total_price);
db.getCollection('新表6').save(item);})

image.png

(把字符串转换成数字, parseFloat会保留小数点后面的,所以一般选择这个)
(注意,语言都有字符串转数字的功能,但是转换的时候第一个必须要是数字,要不就识别不了。如“你好121”就识别不了,但是"123你好"就可以识别。所以转换的时候可以先把开头不是数字的替换掉。
)

注意:mongodb里面无论是投影还是聚合,选中的都是含有那个字段的整个文档,所以那个字段里面的文档有那些字段,也可以对那些字段进行处理。如聚合中的求平均值,总和等。聚合分组就是把含有那个字段的文档分成一组,并不是仅仅把那个子段进行分组。是含有那个字段的文档(但是显示的时候是默认显示那个字段的),投影中不能用聚合表示式,比如$sum这些。投影一般是用来显示你想要的信息。

5.db.getCollection('新表6').aggregate([{group:{_id:"position",count:{sum:1},area_avg:{​avg:"area"}, sees_count:{​sum:"sees"}, attention_sum:{​sum:"attention"}, unit_price_avg:{​avg:"unit_price"}, total_price_avg:{​avg:"$total_price"},
}}])
(代码简书解析不了可以看截图)

image.png

 

  1.  

db.getCollection('新表6').aggregate([{group:{_id:"position",count:{sum:1},area_avg:{​avg:"area"}, sees_count:{​sum:"sees"}, attention_sum:{​sum:"attention"}, unit_price_avg:{​avg:"unit_price"}, total_price_avg:{​avg:"$total_price"},
}}]).forEach(function(item){
db.getCollection('汇总表').save(item)
})

image.png

  1.  

image.png

(想查看是否新增数据的时候要查找,或者不断地往下找,在上面看不了,增加的数据有新增的字段也要桌面连接工具解析到那个文档才看得到)

8.增加数据(也叫插入数据),数据格式必须是{}就是一个文档,若想增加多条数据那就用数组[](js里面这个叫数组,python里面这个叫列表 ),insert([{},{},{},{},{}])。
增加数据的还有两个方法:db.collection.insertOne():向指定集合中插入一条文档数据
db.collection.insertMany():向指定集合中插入多条文档数据
其实这个两个方法是对insert的拆分,只是让语意更清晰,让人读起来一下子就知道是插入多少条数据了。
db.getCollection('新表5').insert({name:"猪八戒",age:22,gender:"男"})

9.当我们向集合中插入文档时,如果没有给文档指定_id属性,则数据库会自动为文档添加_id,该属性用来作为文档的唯一标识(这个东西的主要作用是:当我们在开发环境导入数据到生产环境的时候,就不会怕数据库的数据会被重复,因为所有数据都是唯一的,独一无二的,那个_id你也可以自己调用objectid()生成)。你也可以自己设置那个_id但是要确保唯一性。

10.查询
db.getCollection('二手房').find({})
find({})或者find()都是表示查找所有集合中所有的文档
find({}) {}里面可以传入多个查询的限制条件,如find({age:"18",name:"xx"}),符合这个两个条件的文档才会显示。
find()查找的是集合中符合条件的所有文档,find()返回的是一个数组,不是对象 ,可以用下标[0]来取某第一个数据,依次类推。

findOne()用来查询集合中符合条件的第一个文档,返回的是一个对象。
find().count()查询所有文档的总数。

11.修改
db.getCollection('二手房').update(查询条件,新对象)
修改首先要传入两个参数,1.查询条件(即是查询要修改的对象)
updata默认的是把新对象替换旧对象,而不仅仅是替换属性,是全部替换。
用set可以修改文档的指定属性。一般是用这个方法,来替换属性的值。 如:db.getCollection('新表2').update({"name" : "xx"},{​set:{age:22}})
$set这个是往文档中添加一个属性值。都是修改name等于xx的那个文档的属性值,并不是修改所有文档中的name。

db.getCollection('新表2').update({"name" : 22.0},{unset:{"name":1}})unset是删除文档中的属性值直接属性名name就可以了,后面那个随便写。这个也是修改name等于22.0的那个文档的属性值,并不是修改所有文档中的name

2.新对象(即是要把查询的对象修改为当前对象)。

image.png

mongodb的属性即是字段也是key,json格式中叫key,有多种叫法。

mongodb重要的概念就是文档,所有的操作都是围绕着文档。注意文档是一个一个的,并不是你在mongodb桌面连接工具上看到的那个文档。那个是集合(在关系型数据库里面就叫表,但是是两个不同的概念)。

12.删除
db.getCollection('新表2').remove({"name" : 22.0}) 默认删除符合条件的所有文档。
db.getCollection('新表2').remove({"name" : 22.0},ture) 传一个ture那只会删除一个,默认是删除多个。

db.getCollection('新表2').remove({})传一个空对象,那就把整个集合中的文档都删掉了。但是性能很差

image.png

image.png

image.png

image.png

 

13。往符合条件的文档设置一个属性

db.getCollection('新表6').updateMany({"province" : "广东"},{$set:{"number":1}})

 

14.对集合里面的多个字段进行分组,并计算相关的数值,结构化输出,并保存到例外一个集合中

 

db.getCollection('基础集合').aggregate([{$group:{_id:{position:"$position",name:"$name"},
count:{$sum:"$number"},
area_avg:{$avg:"$area"},
sees_count:{$sum:"$sees"},
attention_sum:{$sum:"$attention"},
unit_price_avg:{$avg:"$unit_price"},
total_price_avg:{$avg:"$total_price"},
}},

{$project:{position:"$_id.position",name:"$_id.name",count:"$count",
    area_avg:"$area_avg",sees_count:"$sees_count",attention_sum:"$attention_sum",
    unit_price_avg:"$unit_price_avg",
    total_price_avg:"$total_price_avg",
    }},
    
    ]).forEach(function(item){
        
        db.getCollection('汇总表6').insert(item)
        })

 

15.可以把字段改成中文,不过要注意子弹里面不能有英文符号,解析不了:

db.getCollection('基础集合').aggregate([{$group:{_id:{position:"$position",name:"$name"},
count:{$sum:"$number"},
area_avg:{$avg:"$area"},
sees_count:{$sum:"$sees"},
attention_sum:{$sum:"$attention"},
unit_price_avg:{$avg:"$unit_price"},
total_price_avg:{$avg:"$total_price"},
}},

{$project:{区域:"$_id.position",小区名字:"$_id.name",房子数量:"$count",
    参观次数:"$sees_count",关注人数:"$attention_sum",
    平均面积:"$area_avg",
    平均单价_元每平米:"$unit_price_avg",
    平均总价_万每套:"$total_price_avg",
    }},
    
    ]).forEach(function(item){
        
        db.getCollection('汇总表7').insert(item)
        })

 

DeepSeek掘金——用DeepSeek模型构建AI 代理 在本综合指南中,我们将探讨如何利用 DeepSeek 的功能构建能够以有意义的方式理解、推理和交互的复杂 AI 代理。人工智能领域正在迅速发展,DeepSeek 的模型代表了智能 AI 代理开发的重大进步。在本综合指南中,我们将探讨如何利用 DeepSeek 的功能构建能够以有意义的方式理解、推理和交互的复杂 AI 代理。 阅读详情

相关推荐

zemax混合式非序列模拟

注意不要点击左侧的非序列模式,那个时纯粹的非序列,会清除序列模式的数据。第2、4、6透镜材质为空气,是为了让光线进入到多重透镜内部。这时普通的优化方式会失败。平行光束经过多焦透镜时,会汇聚在不同焦距处。所以还需要控制能量的大小,进行优化。接下来用非序列模式设计一个多焦透镜。像面的孔径为圆形通光孔:0-1.2。透镜不同位置处有不同的聚焦位置。透镜的z轴位置相同,重合。

fendoudecheng的博客 3066

MongoDB Collation 对字符串按照数值来排序

mongoDB collation排序

路在脚下的博客 1711

支付宝H5支付唤醒协议全解析:从alipays://到动态orderSuffix的抓取与拼接

本文深入解析支付宝H5支付唤醒协议,从alipays://协议设计到动态orderSuffix参数的抓取与拼接,详细介绍了支付宝H5支付的底层机制。内容包括协议架构剖析、动态令牌生成与捕获、浏览器兼容性解决方案以及安全机制设计,为开发者提供全面的技术指南和实践建议。

weixin_27972919的博客 3491

MongoDB中的key命名规则是什么?

与JS变量命名类似,结合js变量的命名规则考虑

m0_56991207的博客 1299

先进封装技术的一些优缺点探讨

半导体封装技术是半导体制造过程中的关键环节,它不仅保护了芯片免受物理损伤,还提供了电气连接和散热功能。随着技术的发展,出现了多种先进的封装技术,每种技术都有其特定的应用场景和优缺点。

阿拉伯梳子的专栏 2168

用树莓派Pico低成本更新USB-C PD控制器固件实战指南

固件更新是嵌入式系统开发与维护中的核心环节,它直接决定了硬件设备的功能、性能与兼容性。其原理通常是通过特定的通信接口(如SWD、JTAG、UART或USB)与设备内部的Bootloader建立连接,将新的程序代码安全写入非易失性存储器。在USB Power Delivery(PD)和Type-C生态中,固件更新技术尤为重要,它能修复协议握手Bug、适配新设备并提升供电策略的灵活性。本文聚焦于一个典型的工程实践场景:如何利用广泛普及且成本极低的树莓派Pico开发板,作为USB-C协议到I²C协议的转换桥,实现

weixin_27869497的博客 456

对mongodb中的数据类型进行转换(如字符串转换成整型)

例如在mongodb中有数据库(taobao),表(product),表中有一deal字段本来存储的是字符串类型,现在要把deal中的值改为整型。 方法是在mongodb(robo)中运行 db.getCollection('product').find({'deal' : { $type : 2 }}).forEach(function(x) { x.deal = NumberIn...

西门大盗 捉虫专家 2万+

什么是 AIDV(AI 定义汽车):从软件定义到智能决策的范式革命

AI定义汽车(AIDV),是指以人工智能(尤其是大模型、深度学习、强化学习)为核心引擎,以车载AI芯片为算力底座,以“数据闭环”为迭代支撑,重构汽车感知、决策、执行全链路,实现“感知智能化、决策自主化、体验个性化、迭代自动化”的新一代智能汽车发展范式。其核心是让汽车从“执行工具”升级为“具备自主学习与智能决策能力的移动智能终端”,核心价值是“车与人的深度协同”与“复杂场景的自主适配”。

getusushu的博客 96

mongodb字段类型转换

字符串转数字类型 ​​​​​​​db.collectionName.find().forEach(function(x){x.FieldName=parseInt(x.FieldName);db.collectionName.save(x);});

Lonely_Devil的博客 1236

【专栏导引贴】100+智能优化算法:从背景原理到代码实战(持续更新)

本专栏系统整理100+种现代优化算法,涵盖粒子群优化(PSO)、遗传算法(GA)、鲸鱼优化(WOA)等经典方法,以及白鲸优化(BWO)、非洲秃鹫优化(AVOA)等新兴算法。每篇详解包含生物启发原理、数学模型、代码实现及工程应用,采用统一编程风格,提供可直接运行的实例代码。专栏持续更新,旨在为研究者提供系统化的智能优化算法参考资料,实现从理论到实践的完整知识链。目前已收录23种算法,包括蚁群系统(ACS)、蝙蝠算法(BA)、天牛须搜索(BAS)等自然启发式优化方法。

qq_42212808的博客 3650

利用AWVS进行反制

awvs 10.5下载 http://www.32r.com/soft/12986.html

渗透之路,攻防之间皆学问 6653

MongoDB 聚合管道中使用日期表达式运算符

日期表达式运算符主要用于实现日期运算,主要包括了转换成日期、获取日期的年月日时分秒等操作

Mointor 1875

SAP-MM-供应商对账平台(功能集合)

(1)集成OA审批,线上核销,结果写入SAP; (2)集成SRM,线上与供应商对账确认,写入SAP; (3)集成财务付款结果确认写入,OA回传结果,定时同步SRM供应商平台。 欢迎留言交流,功能完善,如需要页面设计,请订阅专栏

qq_32198063的博客 748

MongoDB的基本操作

1 连接数据库2 创建数据库3 查看数据库4 删除数据库5 创建/删除/显示集合6 插入文档7 更新文档8 查询文档9 删除文档。

jlq270400的博客 5603

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

mongodb基本操作

mongodb基本操作mongodb简介与mysql的对应:基本操作显示数据库添加或切换到数据库删除数据库创建集合查看集合删除集合添加文档查看文档条件查找修改文档删除文档关闭数据库 mongodb简介 MongoDB是一个NoSQL数据库,它是跨平台的,基于分布式文件存储的数据库,由C++语言编写的(在Linux下需要安装gcc环境)。MongoDB是以文档的形式存储数据,数据结构由键值(key:value)对组成,类似JSON。 关系型数据库: mysql sqlserver oracle db2

chuxuezhe__1的博客 1500

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

MongoDB数据表基本操作

MongoDB数据表基本操作 查看全部数据表 > use ChatRoom switched to db ChatRoom > show collections Account Chat system.indexes system.users   创建数据表 > db.createCollection("Account") {"o

xiaohubeiplus的博客 4962

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

MongoDB安装及基本操作

以上就是今天要讲的内容,本文仅仅简单介绍了mongoDB的使用,而mongoDB提供了大量能使我们快速便捷地处理数据的函数和方法。

CREATED BY RICK. 486

MongoDB基本操作

MongoDB是属于NoSql的一种数据类型。MongoDB是一款强大、灵活、且易于扩展的通用型数据库。MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨再为WEB引用提供可扩展的高性能数据存储解决方案,将数据存储为一个文档(类似JSON对象),数据结构由键值(key=>value)对组成支持丰富的查询表达,可以设置任何属性的索引;支持副本集、分片。它是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

2401_84239988的博客 1881

MongoDB数据库简介及基本操作指令

目录MongoDBNoSQLMongoDB特点基本概念数据类型基本操作指令 MongoDB NoSQL NoSQL:是非关系型数据库系统的总称,数据以key-value的方式存储。而MongoDB就是一个常见的非关系型数据库的产品。 有关非关系型数据库内容,请阅读历史博客:https://blog.youkuaiyun.com/weixin_53186633/article/details/119531661 MongoDB特点 (1)MongoDB 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案,由C++编

星河梦~的博客 1870

mongodb的基本操作

/usr/local/mongodb/bin/mongo#启动mongodb MongoDB shell version: 2.2.6 connecting to: test show dbs;#查看数据库 imooc 0.203125GB local (empty) use imooc_2#当没有imooc_2数据库时这个命令相当于创建了此数据库 switc

hmy_362322的博客 973

Mongodb的基本操作

掌握 mongodb插入数据的方法掌握, mongodb保存数据的方法掌握 ,mongodb查询数据的方法掌握 ,mongodb查询结果的处理方法掌握 ,mongodb更新数据的方法掌握 ,mongodb删除数据的方法

__Samual的博客 2139

Linux系统安装MongoDB及基本操作

同时插入多行数据:db.文档名称.insertmany([{key:value},{key:value},{key:value}])13.更新数据:db.info.update({_id:"3"}, {$set:{nickname:"jack"}})5.删除数据库:db.dropDatabase() 注:(进入库后删除)9.插入数据: db.文档名称.insert({key:value})12.全文删除:db.集合名称.remove({})8.删除集合:db.name.drop()

2302_77349861的博客 1419

MongoDB简介及基本操作

/对于g r o u p 分组 i d 是必选项,选择字段 t y p e 进行分组时,字段前面要加上 group分组 id是必选项,选择字段type进行分组时,字段前面要加上group分组id是必选项,选择字段type进行分组时,字段前面要加上符号。insert()和save()方法的区别在于,若使用insert()方法插入文档时,集合中已存在该文档,则会报错。练习4:使用$min表达式,将集合陈中的文档按类型type进行分组,并计算各个分组中价格price最小值,具体命令如下。

a2024611的博客 1921

mongoDB的shell的基本操作

mongoDB的shell的基本操作   默认是以test用户操作,我们可以通过mongolocalhost:27017/admin增大权限   1.创建一个数据库   use[databaseName]   但是若什么也不做就退出的话这个空数据库会被删除   2.查看所有数据库   showdbs   3.给指定数据库添加集合并且添加记录   db

u014464526的专栏 333

MongoDB安装和基本操作

MongoDB安装和基本操作实验过程安装安装完成后通过cd命令进入到相应的文件夹目录下,通过dir命令查看文件夹下的命令 直接使用mongo命令测试,发现连接失败,原因:需要先开启mongod服务 把mongodb安装为windows服务(需要切换到管理员模式下)并且尝试连接到mongo服务器 基本操作创建数据库 给数据库添加一个表格,并在集合当中添加记录> db.creat

Season_For_Lin的专栏 603
上一篇: scrapy默认去重
djs123DJS
博客等级 码龄9年 49粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值