MongoDB笔记

本文详细介绍了如何在 MongoDB 中执行基本的数据库操作,包括连接、查询、插入、更新、删除数据,以及备份和恢复数据库的方法。此外,还涵盖了如何在主从服务器环境中配置和管理数据库,以及如何通过命令行或工具进行数据导入和导出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

use foobar                                 指向数据库
db                                                 查看指定的数据库是哪个.打印出名字
db.ts.insert({"Name":"Enel"})     往ts表里面插入 Key:Name Value:Enel
db.ts.find()                                    查看ts表
db.ts.findOne()                            仅仅查找一个 返回找到的表.用该表进行update操作
db.ts.update(查找表的键值对,修改后的表)                     更新操作
db.ts.update(查找到的表,跟上要找的键值对)            也可以修改值
db.ts.remove({name:"Enel"})        删除全部名字叫Enel的
修改器:
$inc                                               db.ts.update({"age":30},{"$inc":{"age":1}}) 会把age变量 +1操作.
$set                                            用来制定一个键的值.如果这个建不存在,则创建它.
$unset                                        用来删除键

修改器数组操作
$push                                        往键值里面插入数组.数组里面可以是结构.会一直往后添加
$ne                                            不在数组里就把其加进去.反之不加
$addToSet                                和ne同理..但是可以嵌套$each使用  例如. {$addToSet: {"emails":{"$each":["a", "b", "c"]}}}
$pop                                        {$pop : {key : 1}}从末尾删除一个数组元素  -1从头删除一个数组元素
$pull                                        删除数组中所有指定的值

数组定位修改器 $                    只有第一条会修改

条件查询 配合find使用
$lt                                            <
$lte                                            <=
$gt                                            >
$gte                                        >=

$in                                            可以用来查询一个键的多个值
$or                                            更通用一些 用来完成多个键值的任意给定值
$nin                                        返回与数组中所有条件都不匹配的文档.
$not                                        
$mod                                    可以配合not使用. find({"id_num":{"$not":{"$mod":[5,1]}}})
20~30的用户.                        find({"age":{"$lt":30, "$gt":20}})
$exists                                    判断键值已经存在

查询数组
$all                                        需要多个元素来匹配数组
$size                                    查询指定长度的数组
$slice                                    返回数组的一个子集合

$where                                后面可以加个函数来使用
ensureIndex                        设置索引

$ ./mongodump -d DBNAME -o backup
$ ./mongorestore -d foo --drop backup/test/

db.runCommand({"serverStatus":1})
db.runCommand({"fsync":1,"lock":1})
db.$cmd.sys.unlock.findOne()
db.currentOp()

mongod --repair
db.repairDataBase()
{"repairDatabase":1}

启动主服务器
mongod --master
启动从服务器
mongod --slave --source master_address

--only 在从节点上指定只复制特定某个数据库(默认复制所有数据库)
--slavedelay用在从节点上,当应用主节点的操作时增加延时.这样就能轻松设置延时从节点了.这种节点对用户无意中删除重要文档或者插入垃圾数据等事故有很重要的防护作用.这些不良操作都会被复制到所有从节点上.
--fastsync 以主节点的数据快照为基础启动从节点
--autoresync 如果从节点与主节点不同步了.则自动更新同步
-oplogSize 主节点oplog的大小

添加删除源
use local
db.sources.insert({"host":"localhost:27017"})

导出到文件
mongoexport -d JLTX -c userlist -o user.dat

导出到CSV文件
mongoexport -d JLTX -c userlist -csv -f uid,username,age -o user_csv.dat

删除user表
db.user.drop()

导入JSON数据到数据库
mongoimport -d JLTX -c userlist user.dat

导入CSV数据到数据库
mongoimport -d JLTX -c userlist --type csv --headerline --file user_csv.dat

数据备份
mongodump -d JLTX 备份到当前目录下
mongodump -d JLTX -o JLTX_dump    备份到JLTX_dump目录

删除数据库
use JLTX
db.dropDataBase()
show dbs

恢复数据库
mongorestore -d JLTX JLTX_dump
-drop参数就会先删除数据库然后再插入

绑定IP内网地址访问MongoDB服务
mongod --bind_ip 192.168.1.19
客户端访问就需要指明IP登陆  mongo 192.168.1.19

设置监听端口
mongod --bind_ip 192.168.1.103 --port 89898
mongo 192.168.1.103:89898

启动登陆验证
mongod --auth

通过eval参数执行指定语句
mongo test --eval "printjson(db.t1.count())"

capped collection的创建
db.createCollection("name",{size:10000})
db.createCollection("name",{capped:true,size:1000000,max:100})

mongod参数说明

dbpath: 文件存放路径
logpath: 错误日志文件
bind_ip: 对外服务的绑定ip
port: 对外服务端口
fork:后台Daemon形式运行服务
journal:开启日志功能
syncdelay: 系统同步刷新磁盘的时间
directoryperdb:每个db存放在单独的目录中.
maxConns:最大连接数
repairpath:执行repair时的临时目录










内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具与自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、CO和SO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性和便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算和结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征和技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析和模拟,揭示了生物质炉具在实际应用中的优点和挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向和政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值