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时的临时目录










内容概要:本文介绍了基于SMA-BP黏菌优化算法优化反向传播神经网络(BP)进行多变量回归预测的项目实例。项目旨在通过SMA优化BP神经网络的权重和阈值,解决BP神经网络易陷入局部最优、收敛速度慢及参数调优困难等问题。SMA算法模拟黏菌寻找食物的行为,具备优秀的全局搜索能力,能有效提高模型的预测准确性和训练效率。项目涵盖了数据预处理、模型设计、算法实现、性能验证等环节,适用于多变量非线性数据的建模和预测。; 适合人群:具备一定机器学习基础,特别是对神经网络和优化算法有一定了解的研发人员、数据科学家和研究人员。; 使用场景及目标:① 提升多变量回归模型的预测准确性,特别是在工业过程控制、金融风险管理等领域;② 加速神经网络训练过程,减少迭代次数和训练时间;③ 提高模型的稳定性和泛化能力,确保模型在不同数据集上均能保持良好表现;④ 推动智能优化算法与深度学习的融合创新,促进多领域复杂数据分析能力的提升。; 其他说明:项目采用Python实现,包含详细的代码示例和注释,便于理解和二次开发。模型架构由数据预处理模块、基于SMA优化的BP神经网络训练模块以及模型预测与评估模块组成,各模块接口清晰,便于扩展和维护。此外,项目还提供了多种评价指标和可视化分析方法,确保实验结果科学可信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值