search
HomeDatabaseMysql Tutorial MongoDB实战(2)工具集与特殊魔术方法

一、MongoDB启动方式MongoDB除了支持命令行的启动方式还支持配置文件启动通过读取启动配置文件的方式来启动数据库比方说配置文件如下则可以使用如下命令./mongod

一、MongoDB启动方式

MongoDB除了支持命令行的启动方式还支持配置文件启动通过读取启动配置文件的方式来启动数据库比方说配置文件如下

则可以使用如下命令

./mongod -f /etc/mongodb.conf

MongoDB参数说明

dbpath:
数据文件存放路径每个数据库会在其中创建一个子目录用于防止同一个实例多次运
行的mongod.lock也保存在此目录中。
logpath
错误日志文件
logappend
错误日志采用追加模式默认是覆写模式
bind_ip
对外服务的绑定ip一般设置为空及绑定在本机所有可用ip上如有需要可以单独
指定
port
对外服务端口。Web管理端口在这个port的基础上+1000
fork
以后台Daemon形式运行服务
journal
开启日志功能通过保存操作日志来降低单机故障的恢复时间在1.8版本后正式加入
取代在1.7.5版本中的dur参数。
syncdelay
系统同步刷新磁盘的时间单位为秒默认是60秒。
directoryperdb
每个db存放在单独的目录中建议设置该参数。与MySQL的独立表空间类似
maxConns
最大连接数
repairpath
执行repair时的临时目录。在如果没有开启journal异常down机后重启必须执行repair
操作。

停止数据库这里有一点需要注意

使用kill-2或者pkill都可以但是不要使用kill-9来杀死MongoDB进程这样会导致MongoDB的数据损坏。

二、常用工具集

MongoDB在bin目录下提供了一系列有用的工具这些工具提供了MongoDB在运维管理上
的方便。
bsondump:将bson格式的文件转储为json格式的数据
mongo:客户端命令行工具其实也是一个js解释器支持js语法
mongod:数据库服务端每个实例启动一个进程可以fork为后台运行
mongodump/mongorestore:数据库备份和恢复工具
mongoexport/mongoimport:数据导出和导入工具
mongofiles:GridFS管理工具可实现二制文件的存取
mongos:分片路由如果使用了sharding功能则应用程序连接的是mongos而不是
mongod
mongosniff:这一工具的作用类似于tcpdump不同的是他只监控MongoDB相关的包请
求并且是以指定的可读性的形式输出
mongostat:实时性能监控工具

三、一些很重要的魔术方法

1、$all匹配所有
这个操作符跟SQL语法的in类似但不同的是,in只需满足()内的某一个值即可,而$all必
须满足[]内的所有值例如:
db.users.find({age:{$all:[6,8]}});
可以查询出{name:'David',age:26,age:[6,8,9]}
但查询不出{name:'David',age:26,age:[6,7,9]}

2、$mod取模运算
查询age取模10等于0的数据
db.student.find({age:{$mod:[10,1]}})
举例如下:
C1表的数据如下:

> db.c1.find() { "_id" : ObjectId("4fb4af85afa87dc1bed94330"), "age" : 7, "length_1" : 30 } { "_id" : ObjectId("4fb4af89afa87dc1bed94331"), "age" : 8, "length_1" : 30 } { "_id" : ObjectId("4fb4af8cafa87dc1bed94332"), "age" : 6, "length_1" : 30 }

查询age取模6等于1的数据

> db.c1.find({age: {$mod : [ 6 , 1 ] } }) { "_id" : ObjectId("4fb4af85afa87dc1bed94330"), "age" : 7, "length_1" : 30 }

可以看出只显示出了age取模6等于1的数据其它不符合规则的数据并没有显示出来

3、$size数组元素个数
对于{name:'David',age:26,favorite_number:[6,7,9]}记录
匹配db.users.find({favorite_number:{$size:3}});
不匹配db.users.find({favorite_number:{$size:2}});

4、$slice取数组中指定段的记录

192847132.png

5、$看实例吧

结果这样

四、存储过程

MongoDB存储过程是存储在db.system.js表中的我们想象一个简单的sql自定义函数如下

存储过程的定义查看和执行

194708616.png

本文出自 “phper-每天一点点~” 博客,请务必保留此出处

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Explain the InnoDB Buffer Pool and its importance for performance.Explain the InnoDB Buffer Pool and its importance for performance.Apr 19, 2025 am 12:24 AM

InnoDBBufferPool reduces disk I/O by caching data and indexing pages, improving database performance. Its working principle includes: 1. Data reading: Read data from BufferPool; 2. Data writing: After modifying the data, write to BufferPool and refresh it to disk regularly; 3. Cache management: Use the LRU algorithm to manage cache pages; 4. Reading mechanism: Load adjacent data pages in advance. By sizing the BufferPool and using multiple instances, database performance can be optimized.

MySQL vs. Other Programming Languages: A ComparisonMySQL vs. Other Programming Languages: A ComparisonApr 19, 2025 am 12:22 AM

Compared with other programming languages, MySQL is mainly used to store and manage data, while other languages ​​such as Python, Java, and C are used for logical processing and application development. MySQL is known for its high performance, scalability and cross-platform support, suitable for data management needs, while other languages ​​have advantages in their respective fields such as data analytics, enterprise applications, and system programming.

Learning MySQL: A Step-by-Step Guide for New UsersLearning MySQL: A Step-by-Step Guide for New UsersApr 19, 2025 am 12:19 AM

MySQL is worth learning because it is a powerful open source database management system suitable for data storage, management and analysis. 1) MySQL is a relational database that uses SQL to operate data and is suitable for structured data management. 2) The SQL language is the key to interacting with MySQL and supports CRUD operations. 3) The working principle of MySQL includes client/server architecture, storage engine and query optimizer. 4) Basic usage includes creating databases and tables, and advanced usage involves joining tables using JOIN. 5) Common errors include syntax errors and permission issues, and debugging skills include checking syntax and using EXPLAIN commands. 6) Performance optimization involves the use of indexes, optimization of SQL statements and regular maintenance of databases.

MySQL: Essential Skills for Beginners to MasterMySQL: Essential Skills for Beginners to MasterApr 18, 2025 am 12:24 AM

MySQL is suitable for beginners to learn database skills. 1. Install MySQL server and client tools. 2. Understand basic SQL queries, such as SELECT. 3. Master data operations: create tables, insert, update, and delete data. 4. Learn advanced skills: subquery and window functions. 5. Debugging and optimization: Check syntax, use indexes, avoid SELECT*, and use LIMIT.

MySQL: Structured Data and Relational DatabasesMySQL: Structured Data and Relational DatabasesApr 18, 2025 am 12:22 AM

MySQL efficiently manages structured data through table structure and SQL query, and implements inter-table relationships through foreign keys. 1. Define the data format and type when creating a table. 2. Use foreign keys to establish relationships between tables. 3. Improve performance through indexing and query optimization. 4. Regularly backup and monitor databases to ensure data security and performance optimization.

MySQL: Key Features and Capabilities ExplainedMySQL: Key Features and Capabilities ExplainedApr 18, 2025 am 12:17 AM

MySQL is an open source relational database management system that is widely used in Web development. Its key features include: 1. Supports multiple storage engines, such as InnoDB and MyISAM, suitable for different scenarios; 2. Provides master-slave replication functions to facilitate load balancing and data backup; 3. Improve query efficiency through query optimization and index use.

The Purpose of SQL: Interacting with MySQL DatabasesThe Purpose of SQL: Interacting with MySQL DatabasesApr 18, 2025 am 12:12 AM

SQL is used to interact with MySQL database to realize data addition, deletion, modification, inspection and database design. 1) SQL performs data operations through SELECT, INSERT, UPDATE, DELETE statements; 2) Use CREATE, ALTER, DROP statements for database design and management; 3) Complex queries and data analysis are implemented through SQL to improve business decision-making efficiency.

MySQL for Beginners: Getting Started with Database ManagementMySQL for Beginners: Getting Started with Database ManagementApr 18, 2025 am 12:10 AM

The basic operations of MySQL include creating databases, tables, and using SQL to perform CRUD operations on data. 1. Create a database: CREATEDATABASEmy_first_db; 2. Create a table: CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY, titleVARCHAR(100)NOTNULL, authorVARCHAR(100)NOTNULL, published_yearINT); 3. Insert data: INSERTINTObooks(title, author, published_year)VA

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)