zoukankan      html  css  js  c++  java
  • mongodb基本操作之数据写入、查询、更新、删除

    1、基础知识

          1.1  show dbs  //查看所有数据库

          1.2  use XXX  //进入某个数据库,如果没有这个数据库的话,进入之后进行了插入操作,那么就会自动产生该数据库,也就是说在进行插入之前可以不用进行数据库的创建过程

          1.3  use XXX

                 db.dropDatabase()    //删除该XXX数据库

          

               db.XXX(表名).drop()          //删除该XXX数据库中的一张表

          

          1.4  use XXX

                 show tables  //查询某个数据库XXX中所有的表

               在mongodb中是show collections(集合),现在看起来二者是相同的用法(如果后面的学习发现有不同再回来补充,可以看看https://www.2cto.com/database/201201/116110.html

    2、数据写入

          2.1  use test

                 db.test_first.insert({x:1})    //insert需要一个参数,这个参数就是要写入的文档,采用josn结构,使用可嵌套的键值对存储数据。

                  show collections   //查询数据库中的集合

                  

          2.2  可以运用JS语法进行写入 :

                  

          2.3  同时插入多条数据

                 insert 默认插入一条数据,和insertOne()作用差不多,同时插入多条数据用insertMany()   (3.2版本以上)

                 db.XXX.insertMany([{},{},{}......])   //记住有个[ ],插入数组,插入后会自动出现acknowledged 及自动分配的高ID

                 

    3、数据查询

          use XXX

          db.XXX.find();     //返回集合里面所有数据

          db.XXX.find({x:5})   //返回集合里面x=5的数据,其他数据被过滤

          db.XXX.find().count()      //对集合里面所有数据计数

          db.XXX.find().skip(3).limit(5).sort({x:1})     //对集合里面数据进行跳过前3条,限制输出5条,并按照x进行升序排序(1是升序,-1是降序)

          

          

          注:skip()、limit()、sort()三者先执行sort,然后skip,最后limit

          

    4、数据更新

          4.1  db.XXX.update({x:10},{y:999})     //将x=10的数据更新为y=999   (mongodb的文档内容不像关系型数据库那样规定好,所以可以很方便的进行各种更新)

          

          4.2  db.XXX.update({z=100},{$set:{y=99}})   //进行部分更新,查询z=100的数据,将其中的y的值改成99,其余部分不变,$set表示部分更改

                        如果写成 db.XXX.update({z=100},{y=99}),就会将原来的x=100,y=100,z=100,改变成y=99,x,z的值都会被覆盖掉

         

         

          4.3  更新一条不存在的数据

                  db.XXX.update({y:100},{y:999},true)    //后面加true(upsert参数)表示查找y=100的数据,如果找到就更新为y=999,如果找不到就自动插入y=999这条数据

          

          扩展:通过上面这个例子可以看到,如果不存在这条数据的话用$set是没用的,还是只插入y=999,不会将x=100,z=100也插入进来。

          4.4  更新多条数据

                 和insert一样每次只会更新一条数据,insert插入多条数据是将upsert参数改为true,update更新多条数据是将multi参数改为true

           

           4.5  补充

           

               参看网站:http://www.runoob.com/mongodb/mongodb-update.html

    5、数据删除

          5.1  为了防止误操作,remove不允许参数为空

           

          5.2  db.XXX,remove({x:100})   //remove只有一个参数

           

  • 相关阅读:
    MVC,MVP和MVVM的区别
    将数组里某个属性相同的对象合并成一个数组
    Ajax的理解
    VUE如何关闭Eslint的方法
    数组去重
    vue-router传递参数的几种方式
    密码的显示和隐藏
    "校园易借查询"选题报告
    我的第一个微信好友分析
    数据库实践
  • 原文地址:https://www.cnblogs.com/rainbowdawn/p/8386367.html
Copyright © 2011-2022 走看看