Node.js is a popular runtime platform to create programs that run on it.
It lets us run JavaScript outside the browser.
In this article, we’ll look at how to start using Node.js to create programs.
Limit the Number of Returned Results
We can limit the number of returned results by calling the limit
method.
For example, we can write:
const { MongoClient } = require('mongodb');
const connection = "mongodb://localhost:27017";
const client = new MongoClient(connection);
async function run() {
try {
await client.connect();
const testCollection = await client.db("test").collection('test');
await testCollection.deleteMany({})
const result = await testCollection.insertMany([
{ "_id": 1, "name": "apples", "qty": 5, "rating": 3 },
{ "_id": 2, "name": "bananas", "qty": 7, "rating": 1 },
{ "_id": 3, "name": "oranges", "qty": 6, "rating": 2 },
{ "_id": 4, "name": "avocados", "qty": 3, "rating": 5 },
]);
console.log(result)
const query = {};
const sort = { length: -1 };
const limit = 3;
const cursor = testCollection.find(query).sort(sort).limit(limit);
await cursor.forEach(console.dir);
} finally {
await client.close();
}
}
run().catch(console.dir);
We call the limit
method with the limit
to set the max number of results to 3.
Also, we can set the properties in the query object.
For example, we can write:
const { MongoClient } = require('mongodb');
const connection = "mongodb://localhost:27017";
const client = new MongoClient(connection);
async function run() {
try {
await client.connect();
const testCollection = await client.db("test").collection('test');
await testCollection.deleteMany({})
const result = await testCollection.insertMany([
{ "_id": 1, "name": "apples", "qty": 5, "rating": 3 },
{ "_id": 2, "name": "bananas", "qty": 7, "rating": 1 },
{ "_id": 3, "name": "oranges", "qty": 6, "rating": 2 },
{ "_id": 4, "name": "avocados", "qty": 3, "rating": 5 },
]);
console.log(result)
const query = {};
const options = {
sort: { rating: -1 }, limit: 3
}
const cursor = testCollection.find(query, options);
await cursor.forEach(console.dir);
} finally {
await client.close();
}
}
run().catch(console.dir);
We put the limit
property in the options
object instead of calling limit
to limit the number of results.
We can call the skip
method to skip the first number of results.
For example, we can write:
const { MongoClient } = require('mongodb');
const connection = "mongodb://localhost:27017";
const client = new MongoClient(connection);
async function run() {
try {
await client.connect();
const testCollection = await client.db("test").collection('test');
await testCollection.deleteMany({})
const result = await testCollection.insertMany([
{ "_id": 1, "name": "apples", "qty": 5, "rating": 3 },
{ "_id": 2, "name": "bananas", "qty": 7, "rating": 1 },
{ "_id": 3, "name": "oranges", "qty": 6, "rating": 2 },
{ "_id": 4, "name": "avocados", "qty": 3, "rating": 5 },
]);
console.log(result)
const query = {};
const sort = { length: 1 };
const limit = 3;
const skip = 3;
const cursor = testCollection.find(query).sort(sort).limit(limit).skip(skip);
await cursor.forEach(console.dir);
} finally {
await client.close();
}
}
run().catch(console.dir);
We use the skip
method with the limit
method to add pagination for the results.
We skip the amount of results to reach the given page.
And limit
sets the max number of results per page.
Conclusion
We can limit the number of results and skip some results with the MongoDB Node.js client.