【MongoDB数据库】MongoDB命令入门初探
MongoDB是一款NoSql数据库,使用了“面向集合”(Collection-Oriented)原理,意思是数据被分组存储在数据集中,被称为一个集合(Collection)。每个集合(Collection)在数据库中都有一个唯一的标识名,并且可以包含无限数目的对象(BasicDBObject)。 集合(Co
MongoDB是一款NoSql数据库,使用了“面向集合”(Collection-Oriented)原理,意思是数据被分组存储在数据集中,被称为一个集合(Collection)。每个集合(Collection)在数据库中都有一个唯一的标识名,并且可以包含无限数目的对象(BasicDBObject)。
集合(Collection)的概念类似关系型数据库(RDBMS)里的表(table),对象(BasicDBObject)的概念类似于RDBMS中表的一条数据,关系数据库里插入一条数据等价于在MongoDB的Collection中添加一个BasicDBObject。
喜欢Java的人会很快喜欢上MongoDB的,因为其面向对象的操作让人眼前一亮。上一篇我们介绍了MongoDB的安装与配置过程,本篇blog以通俗简洁的方式介绍了MongoDB 入门级命令。
1、进入mongodb shell
在控制面板中开启MongoDB服务,同时使用mongo命令连接已经启动的MongoDB server,进入mongodb shell,如下图所示:
2、显示当前数据库
>db
test
3、显示所有数据库
>show dbs
admin (empty)
andyDB 0.078GB
local 0.078GB
4、切换数据库(如果该数据库不存在,则创建一个数据库)
>use andyDB
switched to db andyDB
5、显示所有的表(集合Collection)
>show collections
system.indexes
6、创建一个表person,并初始化数据
>db.person.insert({name:"andy",age:25})
WriteResult({ "nInserted" : 1 })
7、插入一条记录
>db.person.save({name:"jack",age:50})
WriteResult({ "nInserted" : 1 })
8、查询所有记录
>db.person.find()
{ "_id" : ObjectId("537761762c82bf816b34e6ce"), "name" : "andy", "age" : 25 }
{ "_id" : ObjectId("537761da2c82bf816b34e6cf"), "name" : "jack", "age" : 50 }
9、查询某一条记录
> db.person.find({name:"jack"})
{ "_id" : ObjectId("537761da2c82bf816b34e6cf"), "name" : "jack", "age" : 50 }
> db.person.find({$where:"this.name.length
{ "_id" : ObjectId("537761762c82bf816b34e6ce"), "name" : "andy", "age" : 25 }
{ "_id" : ObjectId("537761da2c82bf816b34e6cf"), "name" : "jack", "age" : 50 }
10、更新一条记录
> db.person.update({name:"andy"},{$set:{age:100}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.person.find({name:"andy"})
{ "_id" : ObjectId("537761762c82bf816b34e6ce"), "name" : "andy", "age" : 100 }
11、删除一条记录
> db.person.remove({name:"andy"})
WriteResult({ "nRemoved" : 1 })
> db.person.find()
{ "_id" : ObjectId("537761da2c82bf816b34e6cf"), "name" : "jack", "age" : 50 }
>db.person.remove()//删除表中的所有记录
>db.person.drop()//删除表
12、查看帮助命令
1)db.help() 显示关于db的帮助命令
>db.help()
2)db.collection.help()显示关于Collection的帮助命令
>db.person.help()
3)db.collection.function.help()显示关于Collection方法的帮助命令
> db.person.function.help()
13、参考
MongoDB Hello World Example(推荐)
Getting Started with MongoDB
14、你可能感兴趣
【MongoDB数据库】如何安装、配置MongoDB
【MongoDB数据库】Java MongoDB CRUD Example
转载请注明出处:http://blog.csdn.net/andie_guo/article/details/26095367,谢谢!

MySQLoffersvariousstorageengines,eachsuitedfordifferentusecases:1)InnoDBisidealforapplicationsneedingACIDcomplianceandhighconcurrency,supportingtransactionsandforeignkeys.2)MyISAMisbestforread-heavyworkloads,lackingtransactionsupport.3)Memoryengineis

Common security vulnerabilities in MySQL include SQL injection, weak passwords, improper permission configuration, and unupdated software. 1. SQL injection can be prevented by using preprocessing statements. 2. Weak passwords can be avoided by forcibly using strong password strategies. 3. Improper permission configuration can be resolved through regular review and adjustment of user permissions. 4. Unupdated software can be patched by regularly checking and updating the MySQL version.

Identifying slow queries in MySQL can be achieved by enabling slow query logs and setting thresholds. 1. Enable slow query logs and set thresholds. 2. View and analyze slow query log files, and use tools such as mysqldumpslow or pt-query-digest for in-depth analysis. 3. Optimizing slow queries can be achieved through index optimization, query rewriting and avoiding the use of SELECT*.

To monitor the health and performance of MySQL servers, you should pay attention to system health, performance metrics and query execution. 1) Monitor system health: Use top, htop or SHOWGLOBALSTATUS commands to view CPU, memory, disk I/O and network activities. 2) Track performance indicators: monitor key indicators such as query number per second, average query time and cache hit rate. 3) Ensure query execution optimization: Enable slow query logs, record and optimize queries whose execution time exceeds the set threshold.

The main difference between MySQL and MariaDB is performance, functionality and license: 1. MySQL is developed by Oracle, and MariaDB is its fork. 2. MariaDB may perform better in high load environments. 3.MariaDB provides more storage engines and functions. 4.MySQL adopts a dual license, and MariaDB is completely open source. The existing infrastructure, performance requirements, functional requirements and license costs should be taken into account when choosing.

MySQL uses a GPL license. 1) The GPL license allows the free use, modification and distribution of MySQL, but the modified distribution must comply with GPL. 2) Commercial licenses can avoid public modifications and are suitable for commercial applications that require confidentiality.

The situations when choosing InnoDB instead of MyISAM include: 1) transaction support, 2) high concurrency environment, 3) high data consistency; conversely, the situation when choosing MyISAM includes: 1) mainly read operations, 2) no transaction support is required. InnoDB is suitable for applications that require high data consistency and transaction processing, such as e-commerce platforms, while MyISAM is suitable for read-intensive and transaction-free applications such as blog systems.

In MySQL, the function of foreign keys is to establish the relationship between tables and ensure the consistency and integrity of the data. Foreign keys maintain the effectiveness of data through reference integrity checks and cascading operations. Pay attention to performance optimization and avoid common errors when using them.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

Dreamweaver Mac version
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool
