• MongoDB入门基础知识


    通过前一篇文章,已经学习了如何下载安装MongoDB,在本文主要以一些简单的小例子,简述MongoDB的常规操作CRUD【增删改查】,仅供学习分享使用,如有问题,还请指正。

    数据库操作

    创建及切换数据库

    语法:use db_name;

    释义:如果数据库存在,则切换到对应数据库;如果数据库不存在,则创建数据库。如下所示:

    显示所有数据库

    语法:show dbs;

    释义:显示当前连接的所有的数据库,如下所示:

     注意:在刚创建完数据库时,通过show dbs进行查看,是不显示的,因为数据库是空的,没有创建集合。

    显示当前数据库

    语法:db;

    释义:显示当前连接的数据库,如下所示:

     删除数据库

    语法:db.dropDatabase();

    释义: 删除当前连接的数据库,如果要删除其他数据库,可通过use db_name 进行切换,然后再删除。

    示例:删除后,在show dbs时,则不显示,如下所示:

    注意:在删除数据库后,通过db命令,依然显示删除后的数据库,这说明了什么?

    集合操作

    创建集合

    语法:db.createCollection(name,option);

    释义:创建集合,第一个参数是集合名称,第二个参数是集合选项,属于非必填项。

    关于option可选内容,如下所示:

     注意:capped和size是一对组合,size大小为KB,max为集合中文档数量。

    示例,创建一个名称为person的固定集合,集合大小为102400,最大文档数量为100。如下所示:

     创建集合后,再次执行show dbs命令,则会显示创建的数据库,如下所示:

     注意:也可以通过insert语句插入文档时,创建对象。在插入文档是,如果集合存在,则插入;如果集合不存在,则创建集合,然后插入文档。

    查看已有集合

    语法:show collections; 或者 show tables;

    释义:显示当前连接数据库中所有集合。

    示例:查看hexdb下所有的集合,如下所示:

    删除集合

    语法:db.集合名.drop();

    释义:删除对应的集合及集合中的数据,如果删除成功,返回true。

    示例:删除person集合,如下所示:

    插入文档

    集合中的文档,是以BSON【Binary JSON】形式存在的。

    语法:db.collection_name.insert(document);

    释义:往指定集合中插入文档。

    示例:通过insert语句往集合中插入数据,如果集合不存在,则创建,如下所示:

    注意:数据库已经删除,但是在创建集合后,又奇迹般的出现了。说明之前的删除数据库,只是将数据库中的集合给删除了。

    一次插入多条文档

    执行一次语句,插入多条文档

    语法:db.集合名.insert([{文档1},{文档2},{文档3}]);

    释义:执行一次语句,插入多条文档。

    示例:一次插入3条文档,并进行查询。如下所示:

    查询文档

    查询集合中的文档,

    语法:db.集合名.find(condition);

    释义:根据条件查询集合中的文档,如果条件为空,则查询集合中所有文档。

    示例:先查询所有文档,在根据名称进行检索,如下所示:

    更新文档

    根据指定条件,更新对应文档的内容。

    更新文档语法如下所示:

    1 db.collection.update(
    2    <query>,
    3    <update>,
    4    {
    5      upsert: <boolean>,
    6      multi: <boolean>,
    7      writeConcern: <document>
    8    }
    9 )

    参数说明:

    • query : update的查询条件,类似sql update查询内where后面的。
    • update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
    • upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
    • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
    • writeConcern :可选,抛出异常的级别。

    示例:更新lisi的年龄为28,分别用1:表示更新前,2:更新语句,3:更新后。如下所示:

     多个条件更新文档

    1. 多个条件同时满足时,才能更新文档。

    语法:{条件1,条件2,条件3,...}

    在多个条件需要同时满足时,用逗号隔开,如下所示:

    2. 多个条件有一个满足时,即可修改文档。

    语法:$or:[{条件1},{条件2},{条件3}]。如下所示:

     删除文档

    根据指定条件,删除对应文档。

    语法:

    1 db.collection.remove(
    2    <query>,
    3    <justOne>
    4 )

    参数说明:

    • query :(可选)删除的文档的条件。
    • justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
    • writeConcern :(可选)抛出异常的级别。

     示例:删除名称为zhangsan的文档,如下所示:

     删除集合中所有文档

    语法:db.集合名.remove({});

    释义:不带条件,则表示删除集合中所有文档。

    MongoDB数据类型

    MongoDB的数据类型,不像关系型数据库的数据类型,需要预先定义,而是根据存储的值的类型来的。数据类型如下所示:

     备注

    浣溪沙·一向年光有限身

    【作者】晏殊 【朝代】宋

    一向年光有限身。等闲离别易销魂。酒筵歌席莫辞频。

    满目山河空念远,落花风雨更伤春。不如怜取眼前人。


    作者:Alan.hsiang
    出处:http://www.cnblogs.com/hsiang/
    本文版权归作者和博客园共有,写文不易,支持原创,欢迎转载【点赞】,转载请保留此段声明,且在文章页面明显位置给出原文连接,谢谢。
    关注个人公众号,定时同步更新技术及职场文章

  • 相关阅读:
    实验教学管理系统 c语言程序代写源码下载
    模拟游客一天的生活与旅游java程序代写源码
    Java作业代写
    快餐店运行模拟C++程序源码代写
    HTML+CSS实例——漂亮的背景(一)
    HTML+CSS实例——漂亮的查询部件(一)
    求可能组合VB源码代写
    专业程序代写
    (重刷)HDU 1874 畅通工程续 + HDU 2544 最短路 最短路水题,dijkstra解法。
    价值链与项目组模式打通专业管理模式的竖井
  • 原文地址:https://www.cnblogs.com/hsiang/p/15365225.html
Copyright © 2020-2023  润新知