欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MongoDB基本操作

程序员文章站 2022-06-30 12:02:56
1、创建数据库 格式:usr database_name 如果数据库存在创建数据库,否则切换到指定数据库 2、查看数据库 查看数据库列表: 格式:show dbs 注意:如果是刚创建的新数据库并不会出现在数据库列表中,要显示它需要插入数据。 查看当前使用数据库: 格式: db 注意: 1、在Mong ......

1、创建数据库

  格式:usr database_name 

  如果数据库存在创建数据库,否则切换到指定数据库

> use mydb
switched to db mydb
>

2、查看数据库

  查看数据库列表:

    格式:show dbs

    注意:如果是刚创建的新数据库并不会出现在数据库列表中,要显示它需要插入数据。

    MongoDB基本操作

  查看当前使用数据库:

    格式: db 

>db
mydb
>

  注意

    1、在mongodb中默认数据库为test,如果你没有创建新的数据库,集合会放在test数据库中。

    2、在mongodb中,集合只有插入内容后才会创建,也就是说创建集合后需要插入一个文档,集合才会被创建。

三、删除数据库

  格式:db.dropdatabase()

  MongoDB基本操作

  再查看下数据库是否被删除,使用show dbs;

  MongoDB基本操作

四、创建集合

  格式:db.createcollection(name, options)

  参数说明:name 要创建的集合名称,options可选参数,指定有关内存大小及索引选项

  MongoDB基本操作

  查看已有的集合使用:show collections

  MongoDB基本操作

  在mongodb中,插入一些文档时,如果集合不存在,它会自动帮你创建

  MongoDB基本操作

五、删除集合:

  格式:db.collections_name.drop()

  成功删除返回true,否则返回false

  MongoDB基本操作

六、插入文档

  格式:db.collecions_name.insert(document)

     db.collecions_name.save(document)

     两个格式区别:如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。

  在collection1中插入数据:

  MongoDB基本操作

  成功插入数据后,使用db.collecions_name.find()查看指定集合数据。其中的"_id"是系统自动生成的

  也可以把数据定义成一个变量,插入集合

 MongoDB基本操作

  首先定义变量document,然后把document当做变量插入collection2

  插入多条数据:

  格式:db.collection_name.insert([{文档1},{文档2}...])

MongoDB基本操作

  (db.collection1.find()后面不要管,shell 的一个bug)

七、更新文档

  格式:

    db.collection_name.update(

      <query>,

      <update>,

      {

        upsert:<boolean>,

        multi:<boolean>,

        writeconcern:<document>

      }

    )

  参数说明:

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

MongoDB基本操作

    把"_id"为 objectid("5b8f21288eca67517610e01b") 对应的name的值改为"嘤嘤嘤"

   示例一:

    更新满足条件的第一条数据:

      db.collection1.update({"age":{$lt:21}},{$set:{"age":"21"}});

      在collection1更新 将age小于21岁的age设置为21

  示例二:

    更新满足条件的全部数据:

    db.collection1.update({"age":{$lt:21}},{$set:{"age":21}},false,true);

    末尾的false是upsert 的参数,true是multi 的参数。

  示例三:

    添加第一条数据:

    db.collection1.update({"age":{$gt:23}},{$set:{"age":23}},true,false);

    在collection1中寻找有没有满足 年龄大于23的,没有找到便添加{"age":23}这个数据,找到则把找到的第一条数据设置成23.

八、删除文档:

  db.collection1.deleteone({"age":"25"});

  删除collection1中年龄25的文档。

  db.collection1.deletemany({"age":22});

  删除集合中所有年龄22岁的文档。

  db.collection1.deletemany({})

  删除文档

 

九、查询文档

  语法:db.collection_name.find(query, projection)

  参数说明:

    query:可选,使用查询操作符指定查询条件

    projection:可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。

  栗子1:

MongoDB基本操作

    在find()后添加pretty()会以易读方式显示。

  栗子2:

  MongoDB基本操作

   使用and条件查询:

  在mongodb中传入多个键值对,每个键用逗号隔开

  格式:db.collection_name.find({key1:value1, key2:value2})

MongoDB基本操作

  查找age大于21岁,并且name为name3的文档

  使用or条件查询:

    在查询条件前添加$or,

    格式:db.collection_name.find(

                  {

                    $or : [

                        {key1:value1}, { key2:value2}

                       ]

                    }

                 )

   新鲜的栗子:查找name是name4或者age是22的文档

MongoDB基本操作

  limi()方法:

   指定读取数量

   语法:

    db.collection_name.find().limit(number);

   栗子:只读取两条数据

MongoDB基本操作

    skip方法:

   跳过指定数量的数据开始读取

   语法:db.collection_name.find().skip(2);

    sort方法:

   对数据进行排序,用1代表升序,-1代表降序

   语法:db.collection_name.find().sort({key:1})

  MongoDB基本操作

  对年龄进行降序