Home  >  Article  >  Web Front-end  >  Learning about addition, deletion, modification and query in node in mongoDB

Learning about addition, deletion, modification and query in node in mongoDB

不言
不言Original
2018-07-27 11:07:461470browse

The content of this article is about learning about adding, deleting, modifying and checking in nodes in mongoDB. It has a good reference value and I hope it can help friends in need.

Preparation

First, to use mongoDB in node, you need to install the MongoDB Driver. The command is as follows: npm install mongodb --save
github address: node- mongodb-native

At the same time, remember to enable the mongoDB service.

increase

The following code will insert a document into the tasks collection in the database demodb, and print the document's ID on the console.

const MongoClient = require('mongodb').MongoClient

const assert = require('assert')
const url = 'mongodb://localhost:27017'
const dbName = 'demodb'

// 增
MongoClient.connect(url, function(err, client) {
  assert.equal(null, err)
  console.log("Connected successfully to server")

  const db = client.db(dbName)
  var tasks = db.collection('tasks') // 没有则创建
  tasks.insertOne(
    {
      "project": "task1",
      "description": "task1 description."
    },
    {safe: true},
    function(err, documents) {
      if (err) throw err;
      console.log(documents.insertedId);
    }
  );

  client.close()
})

Run the program and found that the following results were printed on the console

Connected successfully to server
5b59d53ae3d895184824586b

The returned 5b59d53ae3d895184824586b is the document identifier of MongoDB. It is unique and its The essence is binary JSON (ie BSON). BSON is the main data format used by MongoDB to exchange data. The MongoDB server uses it to exchange data instead of JSON. In most cases it is more space efficient and faster to parse.
The declared {safe: true} indicates that the callback function will not be executed until the database operation is completed.

Note: For convenience, the authorization mode is not enabled here. Therefore, you can add, delete, modify and check at will without the username and password in the login URL. But in the production environment, please remember to turn on the authorization mode.

Delete

The following code will find the document whose project is task1 in the tasks collection in the database demodb and delete it.

// 删
MongoClient.connect(url, function(err, client) {
  assert.equal(null, err)
  console.log("Connected successfully to server")

  const db = client.db(dbName)
  var tasks = db.collection('tasks')
  tasks.deleteOne(
    {
      "project": "task1"
    },
    function(err, result) {
      assert.equal(err, null);
      assert.equal(1, result.result.n);
      console.log("Removed the document");
    }
  );

  client.close()
})

Note: If there are multiple documents with project task1 in the tasks collection, then only the first day's document found will be deleted.

Change

The following code will find the document whose project is task1 in the tasks collection in the database demodb and update it.

// 改
MongoClient.connect(url, function(err, client) {
  assert.equal(null, err)
  console.log("Connected successfully to server")

  const db = client.db(dbName)
  var tasks = db.collection('tasks')
  tasks.updateOne(
    {
      "project": "task1"
    },
    { $set: { "project" : "task999" } },
    {safe: true},
    function(err, result) {
      assert.equal(err, null);
      assert.equal(1, result.result.n);
      console.log("Updated the document");
    }
  );

  client.close()
})

Note: If the document with project task1 is not found in the tasks collection, the program will throw an assertion error, as follows:

Learning about addition, deletion, modification and query in node in mongoDB

Check

The following code will find all documents in the tasks collection in the database demodb and print them to the console.

// 查
MongoClient.connect(url, function(err, client) {
  assert.equal(null, err)
  console.log("Connected successfully to server")

  const db = client.db(dbName)
  var tasks = db.collection('tasks')
  tasks.find().toArray((err, docs) => {
    console.log(docs)
    assert.equal(null, err) // err 不等于null, 则在控制台打印err
    // assert.equal(3, docs.length) // 记录不等于3条, 则在控制台打印记录条数
  })
  client.close()
})

The find() method finds all documents, toArray() converts the results into array form, and runs the program. The results are as follows:

Learning about addition, deletion, modification and query in node in mongoDB

Summary

Although the above four small programs are slightly simple, you can't reach a thousand miles without taking small steps. If you really master the basic addition, deletion, modification and search, then it is only a matter of time before you master complex applications. .

Related recommendations:

Introduction to users and permissions in mongoDB

The above is the detailed content of Learning about addition, deletion, modification and query in node in mongoDB. For more information, please follow other related articles on the PHP Chinese website!

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