query mongodb
db.inventory.find( {} )
query mongodb
db.inventory.find( {} )
query mongodb
const Books = require("Books.js")
async getBooks(req, res, next) {
let query;
// Copy req.query
let reqQuery = { ...req.query };
// Fields to exclude
const removeFields = ["select", "sort"];
// Loop over removeFields and delete them from reqQuery
removeFields.forEach(param => delete reqQuery[param]);
// Create query string
let queryStr = JSON.stringify(reqQuery);
// Create operators ($gt, $gte, etc)
queryStr = queryStr.replace(
/\b(gt|gte|lt|lte|in)\b/g,
match => `$${match}`
);
// Find resource
query = Books.findQuery(JSON.parse(queryStr));
// Select Fields
if (req.query.select) {
const fields = req.query.select.split(",").join(" ");
query = query.select(fields);
}
// Sort
if (req.query.sort) {
const sortBy = req.query.sort.split(",").join(" ");
query = query.sort(sortBy);
} else {
query = query.sort("-createdAt");
}
// Pagination
const page = parseInt(req.query.page, 10) || 1;
const limit = parseInt(req.query.limit, 10) || 10;
const startIndex = (page - 1) * limit;
const endIndex = page * limit;
const total = await Books.countDocuments();
query = query.skip(startIndex).limit(limit);
// Executing query
let books = await query;
// Pagination result
const pagination = {};
if (endIndex < total) {
pagination.next = {
page: page + 1,
limit,
};
}
if (startIndex > 0) {
pagination.prev = {
page: page - 1,
limit,
};
}
res.status(200).json({
success: true,
count: books.length,
pagination,
data: books,
});
}
query from database query in mongodb
let userBuilds = [];
Wishlist.find({}, function (err, builds) {
if (err)
{
console.log("Cannot fetch wishlisted builds");
return res.redirect('back');
}
async.forEachOf(builds, function (build, key, callback) {
Builds.find({ name: build.name }, function (err, detailBuild) {
if (err)
{
console.log("Cannot fetch detail from wishlisted builds");
return res.redirect('back');
}
userBuilds.push(detailBuild[0]);
callback();
});
}, function (err) {
if (err)
{
console.log("Error in rendering page");
return res.redirect('back');
}
return res.render('wishlist', {
title: "Wishlist",
email: req.session.email ? req.session.email : undefined,
builds: userBuilds,
layout: false
});
});
});
Copyright © 2021 Codeinu
Forgot your account's password or having trouble logging into your Account? Don't worry, we'll help you to get back your account. Enter your email address and we'll send you a recovery link to reset your password. If you are experiencing problems resetting your password contact us