ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MongoDB

2021-12-20 13:04:18  阅读:141  来源: 互联网

标签:MongoDB 数据库 db collection 查询 json


为什么使用MongoDB/什么场景下使用它?

  • 数据量大
  • 写入频繁
  • 价值低

对MongoDB有一个较为深刻的认识:

  1. c++ 编写的一个基于分布式文件存储的数据库;
  2. 是一个接近于关系型数据库的非关系型数据库;
  3. 支持的数据,结构较为松散,是类似于json的bson格式,可以存储复杂的数据类型;
  • 模式自由,支持动态查询,支持索引;

mongoDB的体系结构(数据库/集合/文档):

是一种,面型用户的层次结构,主要由document,collection database三部分构成

image-20211220113459120

document: 类似于关系型数据库中的一行记录;

collection:由document组建成的集合,collection中存放document,类似于MYSQL中的表;

database: 数据库; MongoDB实例,支持多个数据库;

会安装 mongodb (mongod --dbpath=xxx -port=27017)

mongodb的命令:

  1. 选择和创建数据库

    show dbs
    use db
    

    注意的是 use db 并不会直接创建数据库,需要先创建集合collection,集合内存入文档,才会查询到数据库db;

    image-20211220115641947

  2. 插入和查询文档

    db.collection.insert(json);
    

    db 数据库 collection 集合 insert插入 bson,当做json使用即可;

    db.collection.find();
    db.collection.findOne({json条件});
    db.collection.find().limit(2)
    

    find() 查询所有;

    findOne({json}):查询符合json条件的第一条数据;

    find().limit(x); 查询所有的数据,前x条;

  3. 修改和删除文档

    db.collection.uopdate({_id:"1"},{user:"lisi"});
    db.collection.update({_id:"1"},{$set:{user:"lisi"}});
    db.collection.remove(条件);
    db.collection.remove({});   删除所有
    

    update() 十分危险,必须附加修改器$set,不然就不是修改,而是覆盖

  4. 统计条数

    db.collection.count();
    db.collection.count(条件);
    
  5. 模糊查询

    和查询一致,支持正则表达式 \^xxxx$\

  6. 大于,小于,不等于

    json 表达 : {"field":{$gt:value}} 大于value的字段field

    $gt 大于

    $lt 小于

    $gte 大于等于

    $lte小于等于

    $ne不等于

  7. 包含和不包含 $in $nin

  8. 条件连接 $and $or 且 或

  9. 列值增长 $inc

MongoDB数据类型

String 最常用的UTF-8合法

mongodb 的主键 _id 自增 查询写入速度很快

标签:MongoDB,数据库,db,collection,查询,json
来源: https://www.cnblogs.com/5491afull/p/15710383.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有