首页 > 数据库 >mongoDB基本使用

mongoDB基本使用

时间:2023-04-30 22:35:06浏览次数:48  
标签:基本 name mongoDB age db collection stu 使用 find

  • 一:简介

    • MongoDB是一个非关系型数据库(NoSQL). 非常适合超大数据集的存储, 由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

  • 二:MongoDB安装(windows)

  • 下面就是界面化安装,步骤省略。注意点

  • 配置环境变量

    • 将mongodb目录下的bin文件夹添加到环境变量
  • 三: MongoDB的简单使用

db: 当前正在使用的数据库
show dbs: 显示所有数据库
show databases: 显示所有数据库
use xxxx: 调整数据库
db.dropDatabase(): 删除数据库
show collections: 显示当前数据库中所有的集合(表)
db.collection_name.insert({})
db.createCollection(name, {options}) 创建集合 	capped:是否卷动, size:大小
db.collection_name.drop()  删除集合
db.collection_name.insert()  向集合中添加数据( 如果该集合不存在, 自动创建)
db.collection_name.isCapped() 判断是否有容量上限(判断该集合是否是固定容量的集合)
  • 四:增删改查

    • 4.1增

      db.collection_name.insert({字段:值,字段:值})
      db.collection_name.insertOne({字段:值,字段:值})
      db.collection_name.insertMany([{}, {}])
      注意, 如果集合不存在. 则会自动创建集合
      
    • 4.2删除

      db.collection_name.remove({条件}, {justOne:true|false})   justOne : (可选)如果设为 true 或 1,则只删除一个文档。
      db.collection_name.remove() 删除所有记录
      db.collection_name.drop()  删除collection/表
      
      db.collection_name.deleteOne({条件})
      db.collection_name.deleteMany({条件})
      
    • 4.3修改

      db.collection_name.update({查询条件}, {待修改内容}, {multi: 是否多条数据修改})
      multi:true表示修改满足条件所有的内容,否则只修改满足条件的第一条内容,multi不写默认为false
      
      示例:
      db.nor_col.update({name:"樵夫"}, {$set:{title:"alex", hobby:['抽烟', '喝酒', '烫头']}}, {multi:true});
      db.nor_col.update({name:"樵夫"}, {title:"alex"}) 
      
      $set和没有$set的区别:
      $set只会修改当前给出的字段, 其他内容保留
      没有$set只会保留当前给出字段, 其他内容删除
          mutil: 如果为True, 必须用$set. 否则报错. 
      
    • 4.4查询

      • 数据准备:
          db.stu.insert([
      	{name: "朱元璋", age:800, address:'安徽省凤阳', score: 160},
      	{name: "朱棣", age:750, address:'江苏省南京市', score: 120},
      	{name: "朱高炽", age:700, address:'北京紫禁城', score: 90},
      	{name: "李嘉诚", age:38, address:'香港xxx街道', score: 70},
      	{name: "麻花藤", age:28, address:'广东省xxx市', score: 80},
      	{name: "大老王", age:33, address:'火星第一卫星', score: -60},
      	{name: "咩咩", age:33, address:'开普勒225旁边的黑洞', score: -160}
      ])    
      
      - 4.4.1:普通查询
        db.stu.find({条件})  查询所有
        db.stu.findOne({条件})  查询一个
        db.stu.find().pretty()  将查询出来的结果进行格式化(好看一些)
      
      - 4.4.2:比较运算
      等于: 默认是等于判断, $eq
      小于:$lt (less than) <
      小于等于:$lte (less than equal) <=
      大于:$gt (greater than)>
      大于等于:$gte   >=
      不等于:$ne  !=
      
      示例:
      db.stu.find({age:28})  查询年龄是28岁的学生信息
      db.stu.find({age: {$eq: 28}})  查询年龄是28岁的学生信息
      db.stu.find({age: {$gt: 30}})   查询年龄大于30岁的学生
      db.stu.find({age: {$lt: 30}})   查询年龄小于30岁的学生
      db.stu.find({age: {$gte: 38}})  查询年龄大于等于30岁的学生
      db.stu.find({age: {$lte: 38}})  查询年龄小于等于30岁的学生
      db.stu.find({age: {$ne: 38}})   查询年龄不等于38的学生
      
      - 4.4.3:逻辑运算符
      $and: [条件1, 条件2, 条件3....]
        查询年龄等于33, 并且, 名字是"大老王"的学生信息
        db.stu.find({$and:[{age: {$eq:33}}, {name:'大老王'}]})
      
      $or: [条件1, 条件2, 条件3]
        查询名字叫"李嘉诚"的, 或者, 年龄超过100岁的人
        db.stu.find({$or: [{name: '李嘉诚'}, {age: {$gt: 100}}]})
      
      $nor: [条件1, 条件2, 条件3]
        查询年龄不小于38岁的人, 名字还不能是朱元璋. 
        db.stu.find({$nor: [{age: {$lt: 38}}, {name: "朱元璋"}]})
      
      - 4.4.4:范围运算符
        使用\$in, \$nin判断数据是否在某个数组内
        db.stu.find({age: {$in:[28, 38]}})   年龄是28或者38的人
      
      - 4.4.5:正则表达式
        使用$regex进行正则表达式匹配
        db.stu.find({address: {$regex:'^北京'}})  查询地址是北京的人的信息
        db.stu.find({address: /^北京/})  效果一样
      
      - 4.4.6:skip和limit
        db.stu.find().skip(3).limit(3)	
        跳过3个. 提取3个. 类似limit 3, 3 可以用来做分页
      
      - 4.4.7:投影
        投影可以控制最终查询的结果(字段筛选)
        db.stu.find({}, {字段:1, 字段:1})
        需要看的字段给1就可以了. 
        注意, 除了_id外, 0, 1不能共存. 
      
      - 4.4.8: 排序与统计
        sort({字段:1, 字段:-1})
        1表示升序,-1表示降序
      
        count(条件) 查询数量
        db.stu.count({age:33})
      

标签:基本,name,mongoDB,age,db,collection,stu,使用,find
From: https://www.cnblogs.com/xwltest/p/17365870.html

相关文章

  • python操作MongoDB数据库
    python处理mongodb首选就是pymongo.首先,安装一下这个模块pipinstallpymongo建立连接importpymongoconn=pymongo.MongoClient(host='localhost',port=27017)#切换数据库py=conn['python']#登录该数据库(需要的话)py.authenticate("python_admin",'......
  • 六种比较方法使用a < b一种方式表示出来
    a>b等价于b<aa>=b等价于!(a<b)即a不小于ba<=b等价于!(b<a)即b不小于aa==b等价于!(a<b)&&!(b<a)夹逼原理a!=b等价于(a<b)||(b<a)在c++中重载运算符时,只需要重载<小于号就可以了参考:https://www.acwing.com/file_system/file/......
  • Spring MVC3 基本配置
    之前用过struts2,学习了springmvc之后,发现还是比struts2方便一些。首先,web.xml配置1.<</span>filter>2.<</span>filter-name>springUtf8Encoding</</span>filter-name>3.<</span>filter-class>org.springframework.we......
  • 动态使用存储过程给分区表建立分区
    invarchar2,v_tablespace_name_ininvarchar2,v_begin_dateinvarchar2,v_end_dateinvarchar2)is--......
  • 使用 SpringCache 简化缓存代码实现
    SpriingCache实现了基于注解的缓存功能,只需要在方法上添加注解即可实现常用的缓存功能,大大简化了的业务代码的实现。SpringCache默认集成于SpringContext中,这意味着对于使用SpringBoot框架来说,不需要引入额外的jar包即可使用。SpringCache通过CacheManager接口来统一......
  • 【npm】创建私有npm包,使用Verdaccio
    1、npm官网可以创建私有npm包,但是要收费,每人每月7$,先找免费的2、在线的免费的有GitHub,可以看文章:https://andreybleme.com/2020-05-31/hosting-private-npm-packages-for-free/3、自己本地搭建仓库,可以使用开源项目 verdaccio,这个项目的前身是 sinopia,前身已经不维护了,verdaccio......
  • 使用eclipse开发ndk之:导入现有的…
    网上有很多NDK开发的例子,拿来二次开发很好。eclipse是功能强大的IDE开发环境,如果能将这些NDK工程导入可以加快进度。网上查了很久,没有具体的导入方法。通过自己摸索,终于找到了正确的导入办法。1,假设eclipse,jdk,androidSDK,androidNDK,CDT都安装并设置好了。2,在eclipse新建工程......
  • Http学习之使用HttpURLConnection…
    post请求的OutputStream实际上不是网络流,而是写入内存,在getInputStream中才真正把写道流里面的内容作为正文与根据之前的配置生成的httprequest头合并成真正的http request,并在此时才真正向服务器发送。函数可以改变这个模式,设置了ChunkedStreamingMode后,不再等待Out......
  • Android平台下使用HttpUrlConnecti…
    publicstaticStringrequestByPost(Stringurlpath,StringrequestData)throwsIOException{//HTTPconnectionreusewhichwasbuggypre-froyoif(Build.VERSION.SDK_INT<Build.VERSION_CODES.FROYO){URLurl=newURL(urlpath);......
  • 使用docker快速安装mongodb.md
    1.拉取mongodb镜像dockerpullmongo2.创建文件夹mkdir-p/home/mongo/conf/mkdir-p/home/mongo/data/mkdir-p/home/mongo/logs/3.新增mongod.conf文件cd/home/mongo/conf&&vimongod.confmongod.conf文件内容:#数据库文件存储位置dbpath=/data/db#log文......