MongoDB的常用命令及配置

    xiaoxiao2025-07-31  20

    MongoDB服务器环境基本配置

    自定义MongoDB中的数据文件路径和日志文件路径
    mongod --dbpath=/usr/local/data/program/mymongodb/data -- logpath=/usr/local/data/program/mymongodb/log/mongodb.log
    后台运行:
    mongod --dbpath=/usr/local/data/program/mymongodb/data -- logpath=/usr/local/data/program/mymongodb/log/mongodb.log --fork
    查看MongoDB进程:
    ps -ef|grep mongod ps -aux|grep mongod
    杀死所有MongoDB进程:
    killall mongod
    根据配置文件启动mongodb:
    创建配置文件mongodb.cfg,内容如下:dbpath=/usr/local/data/program/mymongodb/data logpath=/usr/local/data/program/mymongodb/log/mongodb.log fork=true logappend=true bind_ip=0.0.0.0 根据命令启动,mongod -f /usr/local/data/program/mymongodb/mongodb.cfg

    MongoDB命令怎么学?

    mongodb学习方法:
    看官网文档Linux命令下可以多使用help命令 有些人,自认为很聪明,他就会去猜(就会按自己的习惯去猜,用自己已知的领域去猜一个陌生的领域,类比法) show databases use testdb //使用数据库 db.member.insert({name:“ai”,age:23,addr:“上海市闵行区”}) //插入语句 for(var i=18;i<60;i++){db.t_member.insert({name:“ai”,age:i,addr:“上海市闵行区”})} //批量新增 db.t_member.drop() //删表 db.member.find() //查询

    直接drop(),就这样没有了,不靠谱 定位:缓存而已(数据的价值不高,如果把安全性非常高的数据存入,不靠谱 )

    如何使用Java调用API服务?

    官网驱动文档地址: https://docs.mongodb.com/ecosystem/drivers/ http://mongodb.github.io/mongo-java-driver/3.9/driver/getting-started/quick-start/

    总结

    有事没事,看第一手文档,官方文档当你走投无路的时候记得用help(救命)命令要认为自己聪明,锻炼猜的能力,猜出个80%左右

    1、怎么配置mongdb在centos启动时就默认启动? 利用网络资源(关键是思路)

    2、mongdb坑 ​ 用户行为数据,数据量非常大

    ​ 有一种后悔的感觉,想着更换平台

    ​ 迁移会遇到一些问题

    ​ 不要滥用,不要滥用,不要滥用 它是一个最像关系型数据库的非关系型数据库(给数据操作带来便利)

    3、MongoDB和ES对比

    elasticSearch 纯粹是json(字符串)

    mongo的优势是哪些?

    BSON GirdFS(复杂)

    4、用户手机注册验证码存取适合用mongo吗?还是redis? 可以用mongo,但是更建议用session,用一次就没了,没必要存持久化里面 redis也行,设置过时时间

    5、MongoDB应用场景

    mongodb可以存系统日志

    什么情况下适合mongo:不规则日志:ELK ,Log4J INFO,ERROR,WARN,DEBUG(字符串)

    ​ Pattern, 用正则去解析字符串,不止一个正则,

    ​ 每一种日志格式都要编写一个正则去匹配

    ​ 既然用正则麻烦,为什么还用ELK存储日志

    你的系统已经平稳运行N年了(.Net,PHP,Java)

    只能在外围加一层,让它把日志格式变成一个结构化的数据,所以采用ELK分析

    不适合MongoDB: 规则日志、结构化的整理、用户行为日志:operationTime creator type target Timeline、调用链路 invoker Time targetMethod args returnVal throw、持续增量(id+updatTime)、文件存储:GirdFS(文件存储系统)

    不适合Redis:数据需要持久性的而且有一定的依赖性

    适合Redis,数据会设置时效、分布式锁、用户登录token、数据库的缓存中间件

    6、讲讲MongoDB(GridFS)、Hadoop、HBase对于数据存储的使用场景选择吗

    定位:MongoDB,为一个结构化的缓存,由于设计原理不同,数据量是有一定的瓶颈的,MongoDB 顶多算一个日志数据库,文件存储系统 ​ HBase,基于列簇扩展性,高可用程度会更加灵活,数量级和MongoDB也是有很大差异的,HBase 通常会跟大数据联系在一起 7、Mongo怎么持久化的? 持久化都是用文件的形式存储,其实任何数据库都是用文件实现持久化的

    最新回复(0)