With the development of the Internet, the demand for Web applications has gradually increased, which has also promoted the continuous innovation of development technology. Node.js is a JavaScript runtime based on the Chrome V8 engine. It is an event-driven, non-blocking I/O technology and supports server-side JavaScript development. In Node.js, querying is a common operation, especially queries related to databases, such as MongoDB, MySQL, etc. This article will introduce query technology in Node.js.
Database query in Node.js
Node.js implements interaction with a variety of databases through many database modules, including SQLite, MySQL, PostgreSQL, MongoDB, etc. Different modules require different query methods, but their common goal is to obtain the required data from the database.
Here are some common query operations:
Insert is a common database operation used to add data to the database middle. Node.js supports data insertion into various databases and has multiple insertion methods. Taking MongoDB as an example, insertion can be performed in the following ways:
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017';
const dbName = 'nodejsDB';
MongoClient.connect(url, { useNewUrlParser: true }, (err, client) => {
if (err) throw err;
const db = client.db(dbName);
const newDocument = { name: 'Tom', age: 30 };
db.collection('users').insertOne(newDocument, ( err, result) => {
if (err) throw err; console.log('Document inserted!'); client.close();
});
});
The above code uses the MongoDB client driver to establish a database connection and insert a name into the users collection Document for Tom, age 30. Note that MongoDB's insertOne() method is used here to insert a single document.
Updating data is another common database operation. In Node.js, you can use the updateOne() method to update a single document in the collection, for example:
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb:// localhost:27017';
const dbName = 'nodejsDB';
MongoClient.connect(url, { useNewUrlParser: true }, (err, client) => {
if (err) throw err;
const db = client.db(dbName);
const filter = { name: 'Tom' };
const update = { $set: { age: 31 } };
db.collection('users').updateOne(filter, update, (err, result) => {
if (err) throw err; console.log('Document updated!'); client.close();
});
});
This code uses the updateOne() method to update the age of the document named Tom to 31. The $set operator sets a new value to the value of an existing field in the document.
Querying data is the process of retrieving data from the database. In Node.js, you can use multiple methods to retrieve data from the database, such as find(), findOne(), count(), etc. For example, the following code uses the find() method to query all documents with an age greater than 20:
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017' ;
const dbName = 'nodejsDB';
MongoClient.connect(url, { useNewUrlParser: true }, (err, client) => {
if (err) throw err;
const db = client.db(dbName);
const query = { age: { $gt: 20 } };
db.collection('users').find (query).toArray((err, result) => {
if (err) throw err; console.log(result); client.close();
});
});
The above code uses the find() method in MongoDB to query the age greater than 20 all documents. The toArray() method is used here to convert the result into an array.
Delete data is the process of deleting specified data from the database. In Node.js, you can delete one or more documents using the remove() method. For example, the following code deletes a document named Tom:
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017';
const dbName = 'nodejsDB';
MongoClient.connect(url, { useNewUrlParser: true }, (err, client) => {
if (err) throw err;
const db = client.db(dbName);
const query = { name: 'Tom' };
db.collection('users').deleteOne(query, (err, result) = > {
if (err) throw err; console.log('Document deleted!'); client.close();
});
});
The above code uses the deleteOne() method to delete the document named Tom.
Summary
This article introduces query technology in Node.js. No matter which database module is used, querying is an inevitable operation. In actual development, different query methods need to be selected according to different needs. This article introduces common insert, update, query and delete operation methods in MongoDB. It's worth noting that Node.js uses a single-threaded model and queries may block the event loop. Therefore, it is necessary to use asynchronous callback methods for non-blocking queries to avoid affecting the performance of the entire application.
The above is the detailed content of nodejs query. For more information, please follow other related articles on the PHP Chinese website!