首页 > 数据库 >2023/5/15之前关于MongoDB的学习实践

2023/5/15之前关于MongoDB的学习实践

时间:2023-05-15 09:04:21浏览次数:48  
标签:副本 15 -- MongoDB db 2023 集合 id localhost

show dbs/collections/tables;
use 库 创建库
db.dropDatabase(); 删除库
db.createCollections(''); 创建集合
db.集合.drop(); 删除集合
db.集合.insertOne/Many 集合中插入数据
db.集合.remove(); 删除文档
for(let i=x;i<x;i++){} 循环操作
db.集合.update({条件},{$set:{更改后}}) set的作用是保留除更改之外的值(原来的版本如果不写set的话,其他字段默认删除,版本6会报错)
db.集合.find([条件],[查询字段{字段:0/1(1返回)}])[.pretty()超过一定长度的文档格式化]; 查询集合
查询条件:
等于: 小于:$lt 小于等于:$lte 大于:$gt 大于等于:$gte 不等于:$ne
mysql中and ==> 逗号, 如果字段相同,以最后一个为准
mysql中or ==> {$or:[{条件},{条件}]}
模糊查询: 使用正则表达式
数组查询: 跟普通查询相同,特殊$size:查询数组符合长度的
排序: .sort({字段:1/-1})1升,-1降
分页: .skip(第几页).limit(一页几条)
.count计数
.distinct去重


$type 按照数据类型(object/简写1,string/简写2,double3,array4) 例: {$type:4}

索引:查询b+树,类似于mysql的自增id
  getIndexes,createIndex({需要建立索引的字段(可以是复合(一个索引由多个key维护))},{其他可选参数(name,unique唯一,expireAfterSeconds)})
  dropIndex("索引名称"),totalIndexSize()索引占用大小,
  关于复合索引(要符合左前缀原则,比如字段id,name,age,那么id,age不能组成复合索引,而name,age/id,name可以(顺序可以变更))(排序中也符合这种原则)

聚合查询aggregate类似于mysql中count, 例db.集合.aggregate([{$group:{_id: "$字段名" , num_tutorial: {$sum : 1}}]) (以字段名为组求和)

副本集:是mongodb中具有自动故障转移的主从集群,主要解决高可用问题,无法解决单点压力问题(这个需要集群完成)

  搭建副本集:./mongod --port 27017 --dbpath ../rep1/data1(需创建) --bind_ip 0.0.0.0 --replSet 副本集名称/[localhost:27018,localhost:27019]

        ./mongod --port 27018 --dbpath ../rep1/data2(需创建) --bind_ip 0.0.0.0 --replSet 副本集名称/[localhost:27017,localhost:27019]

        ./mongod --port 27019 --dbpath ../rep1/data3(需创建) --bind_ip 0.0.0.0 --replSet 副本集名称/[localhost:27017,localhost:27018]

        初始化副本集:var config = {_id:副本集名称, members:[{_id:0, host:"localhost: 27017"}, {第二}, {第三}]}

               rs.initiate(config)

  副本集主节点默认可读可写,从节点不可读写(可以通过rs.secondaryOK授予读权限)        

标签:副本,15,--,MongoDB,db,2023,集合,id,localhost
From: https://www.cnblogs.com/weakxy-home/p/17400754.html

相关文章

  • 2023.5.14
    1#include<iostream>2usingnamespacestd;3#include<vector>4voidprintVector(vector<int>&v)5{6for(vector<int>::iteratorit=v.begin();it<v.end();it++)7{8cout<<*it<<......
  • 编程一小时2023.5.14
    #include<iostream>#include<vector>usingnamespacestd;boolcmp(vector<int>&A,vector<int>&B){if(A.size()!=B.size())returnA.size()>B.size();for(inti=A.size()-1;i>=0;i--)if(A[i]!=B[i])re......
  • 【2023-05-13】连岳摘抄
    23:59善于等待的人,一切都会及时来到。                                                 ——巴尔扎克功名利禄,荣华富贵,确实要看淡。看淡了才不偏执,不会趋炎附势,也不......
  • 【2023-05-12】连岳摘抄
    23:59我们一起缅怀故人,回忆向来使人们相互亲近,而充满爱的回忆则加倍地使人们相互亲近。                                                 ——茨威格我趋向于认为,一......
  • NOIP 2023 模拟赛五 题解
    A.[NOIP2023模拟赛五ByFXTA]简单数学题summarization给出一个值域为\([1,m]\)的正整数序列\(a_{1\simn}\),序列中的数各不相同,求出使\(a_i^2+a_j\)为完全平方数的\((i,j)\)的对数。solution实际上就是求\(x^2+y=z^2\quad(x,y,z\in\mathbb{N}^+)\)的\((x,y)\)......
  • 西门子PLC测试工具,支持S7200,SMART 1200 1500 300等各种PLC,到手即用,。
    西门子PLC测试工具,支持S7200,SMART12001500300等各种PLC,到手即用,。ID:7599678893815132......
  • CHSBO 2023 游记
    南京一日游到南京就像回家一样,又像是「一次奇妙的旅行」第一次有指导老师和带队老师,却仍然蒟蒻显得迷茫彷徨不成体系的学习,换来东拼西凑的知识一个个未曾相逢的大分子,正如未写过的平衡树般,不停变换着我的构象六十分,挂成了多测不清的模样六百页《普通动物学》,是......
  • 2023大连思科-英语技术顾问(BDE)笔试技术卷编程题
    记录自己第一次手撕代码...1.html实现以下布局2.给定一个包含n个正整数的数组和一个正整数s,找出数组中满足其和sum>=s的长度最小的连续子数组,并返回其长度。如果不存在子数组,则返回0。publicintminSubArrayLen(inttarget,int[]nums){intleft=0;......
  • 2023/5/14
    L1-018大笨钟分数 10全屏浏览题目作者 陈越单位 浙江大学微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。不过由于笨钟自己作息也不是很规律,所以敲钟并不定时。一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“......
  • 每日总结2023-05-14
    今天运用mybaits来进行mysql操作:连接数据库信息:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">......