当前位置:网站首页>Mongodb installation and basic operation
Mongodb installation and basic operation
2022-07-06 08:49:00 【look-word】
MongoDB Installation
Use docker install
Download mirroring :
docker pull mongo:4.4.8( recommend , Download the specified version )
docker pull mongo:latest ( Download the latest version by default )
Look at the mirror image :
docker images
- You can see mongo It has been downloaded
Start the mirror :
docker run -d --restart=always -p 27017:27017 --name mymongo -v /data/db:/data/db mongo:4.4.8
- -d Background operation
- –restart=always docker Container start up mongo And start The same is true of shutdown
- -name Specify the name of the container
- -v Bound with a file on the disk
Into the container :
docker exec -it mymongo /bin/bash
Enter into mongo The client of
mongo
MongoDB Concept of analytical
No matter what database we learn we should learn the basic concepts, right , stay mongodb The basic concept is documentation 、 aggregate 、 database , Let's introduce in detail , The following table will help you understand more easily Mongo Some of the concepts in :
SQL The term / Concept | MongoDB The term / Concept | explain / explain |
---|---|---|
database | database | database |
table | collection | Database table / aggregate |
row | document | Data record row / file |
column | field | Data field / Domain |
index | index | Indexes |
table joins | Table joins ,MongoDB I won't support it | |
primary key | primary key | Primary key ,MongoDB Automatically put _id Field sets the primary key |
MongoDB Common operations
(1)Help Check the command prompt
db.help();
(2) Switch / Create database
use test
If the database doesn't exist , Then create the database , Otherwise switch to the specified database
(3) Query all databases
show dbs;
(4) Delete the currently used database
db.dropDatabase();
(5) View currently used databases
db.getName();
(6) Show the current db state
db.stats();
(7) At present db edition
db.version();
(8) View the current db Link machine address
db.getMongo();
Commonly used instructions :
Let's create a database first
use test
1 INSERT( newly added )
Insert into User Collection
db.User.save({name:‘zhangsan’,age:21,sex:true})
Inquire about User All documents in the collection
db.User.find()
2 Remove( Delete )
remove() Used to delete single or all documents , The deleted document cannot be recovered
- Delete all :db.User.remove({})
- Appoint id Delete :db.User.remove(id)
- Specify conditions to delete :db.User.remove({‘name’:‘zhangsan’})
3 UPDATE ( modify )
- first { } Is the condition
- The second brace Is the content that needs to be modified
** Example :**db.User.update({name:“lucy”}, {$set:{age:100, sex:0}})
Update() There are a few parameters to note .
db.collection.update(criteria, objNew, upsert, mult)
criteria: Conditional expressions that need to be updated
objNew: Update expression
upsert: Such as FI The label record does not exist , Whether to insert a new document .
multi: Whether to update multiple documents .
4 QUERY( Inquire about )
4.1 WHERE
stay mongo in How do we use conditional queries ?
** grammar :**db.User.find ({“filed”, value })
Example : db.User.find({name:“ Zhang San ”})
convert to sql : select * form User where name = ‘ Zhang San ’
[ Failed to transfer the external chain picture , The origin station may have anti-theft chain mechanism , It is suggested to save the pictures and upload them directly (img-VzK8wRwP-1656833727793)(https://img2022.cnblogs.com/blog/2233272/202207/2233272-20220703110249742-987656105.png)]
4.2 FIELDS
In normal development , You only need to query some fields in a set ? So how can we achieve such a business ?
- first {} Express What conditions to query It's up there where
- the second {} Express To be found field The value is 1
** grammar :**db.User.find ( { } , { “filed” , value })
** Example :**db.User.find( { name : “ Zhang San ” } , { ‘name’ : 1 } )
convert to sql: select name from User where name = ‘ Zhang San ’
5 SORT
stay MongoDB Use in sort() Method to sort the data ,sort() Method can be used to specify the sorting field by parameter , And use 1 and -1 To specify how to sort , among 1 Arrange... In ascending order , and -1 It's for descending order .
** Example :**db.User.find().sort({‘age’:1})
The conversion SQL :select * from User order by age desc
6 Intercept
stay MongoDB Use in limit() Method to read a specified amount of data ,skip() Method indicates the line from which to read
Example : db.User.find().skip(1).limit(2)
Corresponding SQL: select * from User skip 1 limit 2
All the data in the set : There are two of them
The first line starts reading Read to the end of the second line
7 in( contain )
Example : db.User.find({age:{$in:[21,26,32]}})
** The conversion SQL:**select * from User where age in (21, 26, 32)
8 COUNT( The statistical number of rows )
Example : select count(*) from User where age >20
The conversion SQL: db.User.find({age:{$gt:20}}).count()
9 OR ( perhaps )
age yes 20 perhaps 30 All meet the conditions Be similar to |
Example : select * from User where age = 21 or age = 30
The conversion SQL: db.User.find({$or:[{age:21}, {age:30}]})
10 aggregate( polymerization )
MongoDB Middle polymerization (aggregate) It's mainly used to process data ( Such as the statistical average , Make a peace, etc ), And return the calculated data result . It's kind of similar sql Statement count(*)
Insert test data
db.article.insert({title: ‘MongoDB Overview’,description: ‘MongoDB is no sql database’,by_user: ‘runoob.com’,url: ‘http://www.runoob.com’,tags: [‘mongodb’, ‘database’, ‘NoSQL’],likes: 100})
db.article.insert({title: ‘NoSQL Overview’,description: ‘No sql database is very fast’,by_user: ‘runoob.com’,url: ‘http://www.runoob.com’,tags: [‘mongodb’, ‘database’, ‘NoSQL’],likes: 10})
db.article.insert({title: ‘Neo4j Overview’,description: ‘Neo4j is no sql database’,by_user: ‘Neo4j’,url: ‘http://www.neo4j.com’,tags: [‘neo4j’, ‘database’, ‘NoSQL’],likes: 750})
Common aggregate expressions
expression | describe | Example |
---|---|---|
$sum | Calculate the sum | db.mycol.aggregate([{ KaTeX parse error: Expected '}', got 'EOF' at end of input: …roup : {_id : "by_user", num_tutorial : { s u m : " sum : " sum:"likes"}}}]) |
$avg | Average | db.mycol.aggregate([{ KaTeX parse error: Expected '}', got 'EOF' at end of input: …roup : {_id : "by_user", num_tutorial : { a v g : " avg : " avg:"likes"}}}]) |
$min | Get the minimum value of all documents in the collection . | db.mycol.aggregate([{ KaTeX parse error: Expected '}', got 'EOF' at end of input: …roup : {_id : "by_user", num_tutorial : { m i n : " min : " min:"likes"}}}]) |
$max | Get the maximum value of all documents in the collection . | db.mycol.aggregate([{ KaTeX parse error: Expected '}', got 'EOF' at end of input: …roup : {_id : "by_user", num_tutorial : { m a x : " max : " max:"likes"}}}]) |
$push | Insert values into an array in the result document . | db.mycol.aggregate([{ KaTeX parse error: Expected '}', got 'EOF' at end of input: …roup : {_id : "by_user", url : { p u s h : " push: " push:"url"}}}]) |
$addToSet | Insert values into an array in the result document , But don't create copies . | db.mycol.aggregate([{ KaTeX parse error: Expected '}', got 'EOF' at end of input: …roup : {_id : "by_user", url : { a d d T o S e t : " addToSet : " addToSet:"url"}}}]) |
$first | Get the first document data according to the sorting of resource documents | db.mycol.aggregate([{ KaTeX parse error: Expected '}', got 'EOF' at end of input: …roup : {_id : "by_user", first_url : { f i r s t : " first : " first:"url"}}}]) |
$last | Get the last document data according to the sorting of resource documents | db.mycol.aggregate([{ KaTeX parse error: Expected '}', got 'EOF' at end of input: …roup : {_id : "by_user", last_url : { l a s t : " last : " last:"url"}}}]) |
11 Indexes
Indexing can usually be greatly improved
Query efficiency
, If there is no index ,MongoDB When reading data, you must scanCollection
OfEvery
File and select those records that meet the query conditions . This scanFull set
The query efficiency isVery low
Of , Especially when dealing with large amounts of data , Queries can take tens of seconds or even minutes , The performance of this website isVery deadly
Of .Indexes
Is a special data structure , The index is stored in a collection of data that is easy to read through , An index is an index of a database tableOne or more columns
A structure that sorts the values of .
db.User.createIndex({“name”:1})
In the syntax **name**** The value is the index field that you want to create ,
1** Creates an index in ascending order for the specified , If you want to create the index in descending order specify as -1 that will do
边栏推荐
- gcc动态库fPIC和fpic编译选项差异介绍
- Sublime text in CONDA environment plt Show cannot pop up the problem of displaying pictures
- LeetCode:41. 缺失的第一个正数
- LeetCode:394. 字符串解码
- TP-LINK 企业路由器 PPTP 配置
- 查看局域网中电脑设备
- R language ggplot2 visualization, custom ggplot2 visualization image legend background color of legend
- Image,cv2读取图片的numpy数组的转换和尺寸resize变化
- UnsupportedOperationException异常
- Research Report on Market Research and investment strategy of microcrystalline graphite materials in China (2022 Edition)
猜你喜欢
个人电脑好用必备软件(使用过)
UnsupportedOperationException异常
[MySQL] limit implements paging
PC easy to use essential software (used)
【ROS】usb_cam相机标定
sublime text的编写程序时的Tab和空格缩进问题
Target detection - pytorch uses mobilenet series (V1, V2, V3) to build yolov4 target detection platform
vb.net 随窗口改变,缩放控件大小以及保持相对位置
LeetCode:236. 二叉树的最近公共祖先
【嵌入式】使用JLINK RTT打印log
随机推荐
R language ggplot2 visualization: place the title of the visualization image in the upper left corner of the image (customize Title position in top left of ggplot2 graph)
704 binary search
MYSQL卸载方法与安装方法
Roguelike游戏成破解重灾区,如何破局?
Unsupported operation exception
Precise query of tree tree
What is the role of automated testing frameworks? Shanghai professional third-party software testing company Amway
Current situation and trend of character animation
win10系统中的截图,win+prtSc保存位置
Unified ordering background interface product description Chinese garbled
visdom可视化实现与检查介绍
MongoDB 的安装和基本操作
Analysis of the source code of cocos2d-x for mobile game security (mobile game reverse and protection)
On the inverse order problem of 01 knapsack problem in one-dimensional state
企微服务商平台收费接口对接教程
Sublime text in CONDA environment plt Show cannot pop up the problem of displaying pictures
Tcp/ip protocol
What is CSRF (Cross Site Request Forgery)?
Crash problem of Chrome browser
移位运算符