MongoDB 命令行操作

         通过 MongoDB 数据库安装详细教程 安装完成了MongoDB,MySQL数据库是通过sql命令操作数据,而MongoDB是通过类Javascript函数的查询方式进行数据库的操作,在使用MongoDB来操作数据库之前先来简单的了解MongoDB操作注意:

MongoDB数据库命名规则

  • 不能是空字符串 ;
  • 不能含有 /  \  ?  $  空格  空字符 ,基本上只能使用Ascll码中字母和数字 ;
  • 区分大小写,建立全部小写 ;
  • 名称最多为64个字节 ;
  • 不能使用保留的数据库名: admin ,local ,config

        在安装完成MongoDB数据库时,MongoDB中就有保留了如下这些数据库,这些数据库在你安装完成后就已经存在了的;

库名作用
admin权限数据库,添加用户到该数据库中,该用户会自动继承数据库的所有权限
local数据库中的数据永远不会被复制
config分片时,config数据库在内容使用,保存分子信息
test默认数据库,可以用来做各种测试等

        在进行下面操作之前确定已经安装且已经配置好环境变量以及MongoDB服务已经启动运行;

查看数据库

        通过如下命令就可以查看在你电脑存在的Mongodb数据库了;

show dbs;

 创建数据库

        MongoDB使用use命令创建数据库,若数据库不存在,MongoDB 会在第一次使用该数据库时创建数据库。若数据库已经存在则连接数据库,然后可以在该数据库进行各种操作。

        创建一个名为syan的数据库;

use syan;
db;

 创建集合

        集合是一组文档,是无模式的,集合名称要求符合UTF-8标准字符串,同时还有遵循

  • 集合名不能是空字符串
  • 不能含有空字符 \0
  • 不能以 'system.' 开头,这是系统集合保留的前缀
  • 集合名不能含保留字符 $ 

        MongoDB 创建集合就相当于M有SQL去创建一个表table,这样就好理解一些;

MongoDB 创建集合有两种方式 显式  隐式 ;

显示创建

        通过db.createCollection()方法实现,格式为db.createCollection(name, [options]),name是创建集合名称,options是可选,指定内存大小和索引等;

db.createCollection('sName');


 隐式创建

        隐式创建则是通过添加数据自动创建的;如果不理解的话,先放一放,看过后面再回头看就一目了然;


查询集合

        MySQL数据库通过SHOW TABLES 可以列出所有表,MongoDB数据库则是通过show collections 查询所有集合;

show collections;

再来创建一个集合查询列表;

查看集合

        通过 getCollectionNames() 方法查看当前数据库下的所有集合,格式如下:

db.getCollectionNames();

        show collections 列出所有的集合,而getCollectionNames() 是以数组的形式返回所有集合;

修改集合名称 

        使用 renamecollection() 方法可对集合进行重新命名,将Age集合名改为sAge;

db.集合名.renameCollection('新集合名');

再来创建一个集合;

删除集合

        删除集合可以通过drop()方法;格式如下: 

db.集合名.drop();

下面来删除sSex这个集合:


下面来进行在集合中进行数据的增删改查;在MySQL数据中增删查改的是称为记录,MongoDB中则是文档,文档是MongoDB中存储的基本单位,是一组有序的键值对集合;文档中存储的文档键的格式必须是符合 UTF-8 标准的字符串,同时还要注意不能含有空字符(\0),该字符表示键的结束,还不能含 "." 和 "$" (已保留,仅特定情况使用);

增 

        通过 save() 方法可以添加数据,格式如下:

db.集合.save();

        通过 insert() 方法可以添加数据,格式如下:

db.集合.insert();

         通过 insertOne() 可以添加一条数据; 

        通过 insertMany() 方法可以添加多条数据,insert()方法也同样可以添加多条数据;格式:

db.集合名.insertMany();

        使用insert() 来添加多条数据;如下:

         使用 save() 方法也是同样可以添加多条数据的;

        下面来查询数据,通过上面的操作,大概已经知道了可以使用 find() 方法来查询了,格式:

db.集合.find([query, projection])

[ ] 中的是可选项,query为设置查询操作符指定查询条件,而projection表示使用投影操作符指定返回的字段,若忽略此选项则返回所有字段。


        使用find() 方法以非结构化的方式来显示所要查询的文档;

        查询集合中的所有文档时,为了使显示的结果更为直观,可使用 pretty() 方法以格式化的方式来显示所有文档,格式如下:

db.集合.find().pretty();

        通过 findOne() 方法可以查询一条数据内容;格式如下:

db.集合.findOne();

条件查询 

        下面先来给集合sAge添加一些数据;sAge主要收集成员在这些年龄段会读哪一类别的书籍,类别以编号代替;通过刚刚讲过的添加数据往sAge添加一些数据:

现在要来查询读类别编号为1001 (rbook:1001) 的成员信息;如下命令:

db.sAge.find({rbook:1}).pretty();


MongoDB 支持RDBMS 的条件操作符:

>$gt
<$lt  (小写L)
>=$gte
<=$lte
!=$ne
与 - anddb.test.find( {name : "LIN", age: 18} )
或 - ordb.test.find( $or:[ {name : "YAN", age : 18} ] )

 下面进一步的使用这些条件操作符查询:

  • 查询 age > 18 的数据信息;
db.sAge.find({age:{$gt:18}});

 查询 age < 19 的数据信息;

db.sAge.find({age:{$lt:19}});

 查询 age >= 19 的数据信息;

db.sAge.find({age:{$gte:19}});

  查询 age <= 19 的数据信息;

db.sAge.find({age:{$lte:19}});

查询 age = 18 和 rbook = 1001 的数据信息;

db.sAge.find({age:18,rbook:1001}).pretty();

查询age >=18 和 rbook = 1002 或者 age <= 19 和 rbook = 1002 的数据信息;

db.sAge.find({$or:[{age:{gte:18},rbook:1001},{age:{lte:19},rbook:1002}]});    

        以上就是关于查询的部分,搭配操作符进行结合使用;


        MongoDB数据库中可以通过使用 update() 和 save() 方法来进行数据的修改集合中的文档,在前面通过save() 方法添加数据和添加多条数据;下面来分别使用这两个方法:

update() 方法格式如下:

db.集合.update(
    <query>,    // 参数设置查询条件。  
    <update>    // 为更新操作符。
)

<update>
{$set: {//更新字段}}

先来更新一个字段;sAge 中 name: <LIN> 的 <age> : 18 ——  更改为 <age> : 20 ;

db.sAge.update(
{name:'LIN'},
{$set:{age:20}}
);

         如要多个字段内容,同样的只需要在$set: 中编写要修改的字段内容即可;现在来修改一下信息将<age>:18 ,<rbook>:1001 修改字段为 <age> : 19, <rbook>: 1004;

db.sAge.update(
{name:'XXM'},
{$set:{age:19,rbook:1004}}
);

         通过使用 save() 方法讲上面已被修改的数据再修改回来; 

         以上就是MongoDB数据库修改集合中的文档的内容了。

         MongoDB数据库中可以通过 remove() 方法 来删除集合中的文档;下面切换到sName集合然后来删除集合中一条name为HAN的文档数据:

db.集合.remove();

 下面来删除sAge集合中字段将 age > 19 的文档进行删除;

        通过使用 deleteOne() 方法可以删除一条文档;

db.集合.deleteOne();

        通过使用 deleteMany() 方法删除集合中多条文档,如果要删除所有文档可以使用以下命令:

db.集合.deleteMany({});

        同时也可以使用 deleteMany() 方法来删除多条数据;如下格式来测试一下:

db.集合.deleteMany({},{});

 下面来直接使用 deleteMany({}) 方法删除所有文档:

统计数据库信息 

        通过 stats() 命令可以进行统计数据库信息;

db.stats();

 删除数据库

         可以通过 dropDatabase() 方法来删除数据库;

db.dropDatabase();

        以上就是本篇的全部内容了,关于MongoDB数据库使用命令来操作,进一步的了解MongoDB 数据库 与 MySQL数据库 的区别,那么之后会通过 MongoDB 图形化工具来进一步的使用MongoDB 数据库,感谢大家的支持! 

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对于存储聊天记录,MongoDB是一个非常适合的选择。MongoDB是一个开源的NoSQL数据库,它使用文档模型来存储数据。你可以创建一个集合(collection)来存储聊天记录,并将每个聊天记录作为一个文档(document)插入到集合中。 在MongoDB中,你可以创建一个聊天记录集合,并定义适当的字段来存储记录的信息,例如发言者、时间戳、内容等。每个聊天记录将作为一个文档插入到集合中。这样,你可以使用MongoDB的查询功能来检索、过滤和分析聊天记录。 下面是一个简单的示例,展示了如何使用Python的pymongo库将聊天记录插入到MongoDB中: ```python import pymongo # 连接MongoDB数据库 client = pymongo.MongoClient('<mongodb连接字符串>') # 获取聊天记录集合 chat_collection = client['<数据库名>']['<集合名>'] # 插入一条聊天记录 chat_record = { 'speaker': 'Alice', 'timestamp': '2021-01-01 12:00:00', 'content': 'Hello, how are you?' } chat_collection.insert_one(chat_record) # 查询聊天记录 results = chat_collection.find({'speaker': 'Alice'}) for result in results: print(result) ``` 在上面的示例中,你需要替换`<mongodb连接字符串>`、`<数据库名>`和`<集合名>`为你自己的MongoDB连接信息和集合名称。然后,你可以使用`insert_one()`方法插入一条聊天记录,并使用`find()`方法查询特定条件的聊天记录。 请注意,这只是一个简单的示例,你可以根据自己的需求进扩展和优化。另外,确保在使用MongoDB时遵循安全规范,例如进适当的身份验证和权限管理,以保护聊天记录的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灵魂学者

你的鼓励是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值