当前位置:网站首页>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编译选项差异介绍
- Navicat premium create MySQL create stored procedure
- sublime text的编写程序时的Tab和空格缩进问题
- R language uses the principal function of psych package to perform principal component analysis on the specified data set. PCA performs data dimensionality reduction (input as correlation matrix), cus
- On the inverse order problem of 01 knapsack problem in one-dimensional state
- Esp8266-rtos IOT development
- Browser thread
- swagger设置字段required必填
- Nacos 的安装与服务的注册
- Image,cv2读取图片的numpy数组的转换和尺寸resize变化
猜你喜欢
随机推荐
What is the role of automated testing frameworks? Shanghai professional third-party software testing company Amway
Precise query of tree tree
Leetcode: Sword Finger offer 42. Somme maximale des sous - tableaux consécutifs
如何进行接口测试测?有哪些注意事项?保姆级解读
超高效!Swagger-Yapi的秘密
R language uses the principal function of psych package to perform principal component analysis on the specified data set. PCA performs data dimensionality reduction (input as correlation matrix), cus
To effectively improve the quality of software products, find a third-party software evaluation organization
Variable length parameter
广州推进儿童友好城市建设,将探索学校周边200米设安全区域
Detailed explanation of dynamic planning
电脑清理,删除的系统文件
[embedded] print log using JLINK RTT
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
R language ggplot2 visualization, custom ggplot2 visualization image legend background color of legend
What is CSRF (Cross Site Request Forgery)?
Niuke winter vacation training 6 maze 2
Tcp/ip protocol
LeetCode:剑指 Offer 03. 数组中重复的数字
torch建立的网络模型使用torchviz显示
TP-LINK 企业路由器 PPTP 配置