Home  >  Article  >  Web Front-end  >  Detailed tutorial to get started quickly with MongoDB in NodeJS

Detailed tutorial to get started quickly with MongoDB in NodeJS

高洛峰
高洛峰Original
2016-12-07 10:15:491338browse

MongoDB is a database based on distributed file storage. Written in C++ language. Designed to provide scalable, high-performance data storage solutions for WEB applications.

MongoDB is a product between a relational database and a non-relational database. It is the most feature-rich among non-relational databases and is most like a relational database.

1. Concepts that MongoDB must understand

1. Database: Each database has its own permissions and collections.

2. Document: a key-value pair.

3. Collection: a set of documents, that is, a set of key-value pairs. The collection is created when the first document is inserted.

2. Installation and startup of MongoDB on Mac

1. Use brew to install: brew install mongodb.

2. Create directory: mkdir -p /data/db. This creates the default directory in the mongodb configuration.

3. Set the permissions of /data/db to readable and writable: chown `id -u` /data/db.

4. Run the mongod command to start the server.

5. Create a new command terminal, enter mongo, and enter the mongo command line tool (the mongod command cannot be paused) so that you can enter various mongo commands in the mongo command line tool.

3. Basic operations of MongoDB command line

1.show dbs: View the database

2.show collections: View the collections of the current database

3.db.COLLECTION_NAME.find(): View the collections under this collection All documents

4.use DATABASE_NAME: Use a certain database

5.db.COLLECTION_NAME.insert({"key":"value","":""......}): To a certain database Insert documents into a collection (pay attention to the format)

6.db.COLLECTION_NAME.find({"a":1}): Find documents with a value of 1

7.db.dropDatabase(): Delete the current document use the database

4. Use MongoDB in Node

1. Install

Execute the command in the project directory: npm install mongodb —save-dev

It should be noted that MongoDB must be installed according to the above requirements first. Normal use of Mongodb in NodeJS.

2. Basic use

(1) Connect to the database:

<span style="font-family: Arial, Helvetica, sans-serif;">var MongoClient = require(‘mongodb&#39;).MongoClient; //引入mongodb</span>
[javascript] view plain copy print?在CODE上查看代码片派生到我的代码片
var url = ‘mongodb://localhost:27017/testProject&#39; //设定连接的url,注意前半部分是mongodb数据库端口等,testProject是要创建的数据库,可自己命名
MongoClient.connect(url, function(err, db){
//…注意其中的db就指定的是当前数据库
})

(2) Create a collection db.createCollection()

var MongoClient = require(&#39;mongodb&#39;).MongoClient;
var url = &#39;mongodb://localhost:27017/myproject&#39;;
MongoClient.connect(url, function(err, db) {
console.log("Connected successfully to server");
db.createCollection("myCollection", { "capped": true, "size": 100000, "max": 5000}, function(err, results){
console.log("集合创建成功")
})
});

(3) Insert a document into the collection collection.insertMany( )

var collection = db.collection("myCollection"); //选择某一个集合
collection.insertMany([{a:1},{b:2},{c:3}],function(err, result){ //插入数据,这里插入了三条数据
console.log("插入成功");
})

Insert a sentence here, every time after executing our node code, we can view the results in the database to verify our operation. For example, you can use db.myCollection.find() here to check whether we successfully wrote the record.

(4) Find documents

Find all documents:

var collection = db.collection("myCollection");
<span style="white-space:pre"> </span>collection.find({}).toArray(function(err, docs){
<span style="white-space:pre"> </span>console.log(docs); //其中的docs就是获取到的结果
});

Find matching document content:

collection.find({“a”:1}).toArray(function(err, docs){
<span style="white-space:pre"> </span>console.log(docs); //返回复合条件的内容
});


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