top of page

MongoDB Assignment Help | Practice Set 1



In this we will provide the some MongoDB queries and their solution, you need to practice it itself and comment in below section to send different solution from own side.


Check or download Dataset(Assgcars.json) from here.



Here the queries solution using nodejs:


First need to connect mongodb using below MongoClient


const MongoClient = require("mongodb").MongoClient;

//update the connection string.
const url = "mongodb://localhost/mongo-task";

//update database name
const dbName = "mongo-task";

//update collection name (i.e targetted collection)

const collectionName = "cars";

/*Query results are logged on the terminal.*/

Query 1(e)

//Query 1
numberOfColoursByManufacturer = async () => {
  const client = await MongoClient.connect(url, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
  }).catch((err) => console.log("Could not connect to MongoDB", err));

  try {
    const db = client.db(dbName);
    const collection = db.collection(collectionName);
    let res = await collection
      .aggregate([
        {
          $unwind: "$Colour",
        },
        {
          $group: {
            _id: "$Manufacturer",
            Colours: { $addToSet: "$Colour" },
          },
        },
        {
          $project: {
            _id: 0,
            Manufacturer: "$_id",
            CountOfColours: { $size: "$Colours" },
          },
        },
      ])
      .toArray();
    console.log(res);
  } catch (err) {
    console.log("Error occured in First Query");
  } finally {
    client.close();
  }
};


Query 2(f)

//Query 2
extrasByManufacturer = async () => {
  const client = await MongoClient.connect(url, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
  }).catch((err) => console.log("Could not connect to MongoDB", err));

  try {
    const db = client.db(dbName);
    const collection = db.collection(collectionName);
    let res = await collection
      .aggregate([
        {
          $unwind: "$Extras",
        },
        {
          $group: {
            _id: "$Manufacturer",
            Extras: { $addToSet: "$Extras" },
          },
        },
        {
          $project: {
            _id: 0,
            Manufacturer: "$_id",
            Extras: "$Extras",
          },
        },
      ])
      .toArray();
    console.log(res);
  } catch (err) {
    console.log("Error in Sec Query", err);
  } finally {
    client.close();
  }
};

Query 3(g)

//Query 3
countNumberOfExtras = async () => {
  const client = await MongoClient.connect(url, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
  }).catch((err) => console.log("Could not connect to MongoDB", err));

  try {
    const db = client.db(dbName);
    const collection = db.collection(collectionName);
    let res = await collection
      .aggregate([
        {
          $group: {
            _id: "$Model",
            Extras: { $push: "$Extras" },
            Avg: { $avg: { $size: "$Extras" } },
          },
        },
        {
          $project: {
            _id: 0,
            Model: "$_id",
            CountOfExtras: {
              $size: {
                $reduce: {
                  input: "$Extras",
                  initialValue: [],
                  in: { $setUnion: ["$$value", "$$this"] },
                },
              },
            },
            Avg: "$Avg",
          },
        },
      ])
      .toArray();
    console.log(res);
  } catch (err) {
    console.log("Error in Third Query", err);
  } finally {
    client.close();
  }
};

Query 4(h)

//Query 4
lowestValPerManufacturer = async () => {
  const client = await MongoClient.connect(url, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
  }).catch((err) => console.log("Could not connect to MongoDB", err));

  try {
    const db = client.db(dbName);
    const collection = db.collection(collectionName);

    const res = await collection
      .aggregate([
        {
          $group: {
            _id: "$Manufacturer",
            price: {
              $min: {
                $add: ["$Price", "$Milage"],
              },
            },
          },
        },
        {
          $project: {
            _id: 0,
            Manufacturer: "$_id",
            LowestPrice: "$price",
          },
        },
      ])
      .toArray();
    console.log(res);
  } catch (err) {
    console.log("Error in Fourth Query", err);
  } finally {
    client.close();
  }
};

// To execute one query comment the others.

async function run() {
  await numberOfColoursByManufacturer();
  //await extrasByManufacturer();
  //await countNumberOfExtras();
  //await lowestValPerManufacturer();
}

run();

47 Comments


iwinclub mình mới ghé thử vì thấy bạn bè nhắc hoài, kiểu vào xem cho biết thôi chứ không định ngồi nghiên cứu gì sâu. Lướt một vòng thấy trang trình bày khá dễ chịu, chữ nghĩa chia khối rõ nên đọc không bị ngợp, kéo xuống vẫn biết mình đang ở đoạn nào. Mình để ý họ có nhắc phần giấy phép PAGCOR khá nổi bật, nên người mới nhìn cái là hiểu họ muốn nói gì về “cơ sở” luôn, khỏi phải mò. Mấy mục trên đầu trang cũng sắp xếp gọn, bấm qua lại không bị lạc, nhìn chung giao diện làm kiểu sạch và sáng sủa. Nói chung mình ấn tượng nhất là cách họ chia…

Like

Sunwin 957 mình thấy mọi người nhắc nên cũng bấm vào nghía thử cho biết. Mình không có ngồi đọc hết nội dung đâu, chủ yếu xem giao diện và cách họ sắp xếp thông tin thôi. Cảm giác đầu tiên là trang nhìn gọn gàng, kiểu “dễ thở”, không bị rối mắt. Mấy tiêu đề như “Cam kết đổi mới và bền vững” đặt nổi bật nên lướt qua là hiểu họ đang muốn nhấn vào hướng đi nào. Phần giới thiệu về Études cũng viết vừa đủ, nói về chuyện kết hợp sáng tạo với chức năng trong kiến trúc nên đọc nhanh vẫn nắm được ý. Mình thích cách họ chia nội dung theo từng khối rõ…

Like

ad88 mình mới ghé thử vì thấy bạn bè nhắc hoài, chủ yếu tò mò xem giao diện với nội dung họ viết ra sao. Vào trang cái thấy bố cục khá thoáng, không bị rối mắt, kéo xuống đọc cũng nhẹ nhàng vì chữ dễ nhìn. Mình lướt mấy đoạn giới thiệu thì thấy họ nhấn nhiều vào chuyện vận hành theo quy chuẩn quốc tế với hệ thống giám sát tự động 24 7, đọc kiểu “à, ít nhất họ nói thẳng trọng tâm” chứ không vòng vo. Nội dung chia thành từng khối ngắn nên bắt ý nhanh, không phải mò lâu. Mình không ngồi đọc hết đâu, nhưng cách họ đặt tiêu đề nổi bật và…

Like

O8 mình mới ghé thử vì thấy bạn bè nhắc hoài, chủ yếu vào xem trang chủ trông ra sao chứ chưa kịp nghía gì sâu. Cảm giác đầu tiên là giao diện nhìn khá thoáng, chữ dễ đọc, kéo xuống không bị rối mắt kiểu nhồi quá nhiều thứ một lúc. Mình để ý họ có nhắc vụ mã hóa SSL 256-bit ngay trên trang, nhìn như một khung thông tin riêng nên cũng yên tâm hơn chút khi đăng nhập lướt qua. Với lại phần cập nhật link vào mới nhất được đặt khá dễ thấy, không phải mò lâu. Nói chung trải nghiệm lướt nhanh ổn, mấy mục giới thiệu cập nhật nằm gọn gàng ở đầu…

Like

https://o8.style/ mình lướt thử vì thấy bạn bè nhắc, kiểu vào xem giao diện ra sao thôi. Cảm giác đầu tiên là trang phản hồi nhanh, chuyển mục không bị đứng hay giật, nhìn chung khá “mượt” đúng kiểu họ nói là có tối ưu hiệu suất. Mình cũng thích cách họ trình bày nội dung theo từng khối rõ ràng, tiêu đề tách bạch nên đọc lướt vẫn nắm được ý, không phải kéo qua kéo lại để tìm. Có đoạn họ nhắc chuyện dạo này hay có web giả mạo trên công cụ tìm kiếm, thấy cảnh báo đặt ngay trong nội dung nên cũng yên tâm hơn khi xem thông tin. Nói chung trải nghiệm xem trên…

Like

REALCODE4YOU

Realcode4you is the one of the best website where you can get all computer science and mathematics related help, we are offering python project help, java project help, Machine learning project help, and other programming language help i.e., C, C++, Data Structure, PHP, ReactJs, NodeJs, React Native and also providing all databases related help.

Hire Us to get Instant help from realcode4you expert with an affordable price.

USEFUL LINKS

Discount

ADDRESS

Noida, Sector 63, India 201301

Follows Us!

  • Facebook
  • Twitter
  • Instagram
  • LinkedIn

OUR CLIENTS BELONGS TO

  • india
  • australia
  • canada
  • hong-kong
  • ireland
  • jordan
  • malaysia
  • new-zealand
  • oman
  • qatar
  • saudi-arabia
  • singapore
  • south-africa
  • uae
  • uk
  • usa

© 2023 IT Services provided by Realcode4you.com

bottom of page