For relational databases, we know that there are multiple tables in the database and multiple rows of data in the data tables. For MongoDB, there are multiple collections in the database, and the collections contain multiple documents.
Database
The database concept of MongoDB is similar to that of Mysql. Each database can set independent permissions.
First, let’s look at how to create a database. MongoDB also has restrictions on database names. Only numbers or letters can be used. In addition, database names are case-sensitive. Generally, we will use lowercase. In addition, some keywords cannot be used, such as: admin, config, local, etc.
In MongoDB, there is no need to create a database explicitly. You only need to select use dbName. When the database does not exist, it will be automatically created for us.
> use huoying switched to db huoying
When using the db command, the currently used database name will be displayed.
> db huoying
To view all current databases, use show dbs;
> show dbs; admin 0.000GB config 0.000GB huoying 0.000GB local 0.000GB
Collection
MongoDB’s collection is similar to the table in Mysql. How many collections are there? consists of documents. But collections do not have field restrictions like tables, and the documents under the collection can be of various types. For example, a collection may have the following two types of documents:
{"name":"gwx", "age" : 30}, {"id":1, "score":100}
Although collections have no restrictions on documents, for the convenience of data management, we generally put related documents in a collection.
Creating a collection is divided into direct creation and implicit creation.
# 显示的创建集合 > db.createCollection('huoying') { "ok" : 1 }
Implicitly create a collection. When creating a document directly, if the collection does not exist, the collection will be created first
Document
Finally, let’s take a look at the documentation. The data type of a document is similar to associated data in PHP or objects in JavaScript.
Note that documents are case and data type sensitive. Look at the following example:
# 下面两个是不一样的文档,他们的数据类型不一样 {"name":30} {"name":"30"} # 下面两个是不一样的文档,键名不一样 {"name":30} {"NAME":30}
New document
Use the command db.collection name.insertOne (document data) to insert into the specified collection A document. If the collection does not exist, it will be created implicitly.
> db.users.insertOne({"name":"gwx", "age":29}) { "acknowledged" : true, "insertedId" : ObjectId("5f0cfdbb7688816db4d031bc") } > db.users.find() { "_id" : ObjectId("5f0cfdbb7688816db4d031bc"), "name" : "gwx", "age" : 29 } >
Modify the document
Use update to update the document content. update requires two parameters. The first one is the qualification. Used to find the specified document, the second is the content of the new document.
> db.users.update({name:"gwx"}, {name:"monkeyking", age:500}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.users.find() { "_id" : ObjectId("5f0cfdbb7688816db4d031bc"), "name" : "monkeyking", "age" : 500 }
Delete document
Use remove to delete document
> db.users.remove({age:500}) WriteResult({ "nRemoved" : 1 })
The above is the detailed content of A popular explanation of the concepts of MongoDB databases, collections, and documents. For more information, please follow other related articles on the PHP Chinese website!