What are the key features of MongoDB?

1. Document-oriented Storage: MongoDB stores data in JSON-like documents with dynamic schemas, making the integration of data in applications easier and faster. For example, a product document in MongoDB may look like this:
{
name: “Laptop”,
description: “Lenovo Thinkpad T480”,
price: 800
}

2. Indexing: MongoDB supports indexing on any field in a document which makes data retrieval faster. For example, if you want to find all the products with a price greater than $500, you can create an index on the price field and MongoDB will use it to quickly locate the documents you need.

3. Replication: MongoDB provides high availability with replica sets. A replica set consists of two or more copies of the data. All replica set members are synchronised, and one member is designated as the primary node, which receives all write operations. The other members, known as secondaries, replicate the primary’s data set.

4. Load balancing: MongoDB uses a technique called “sharding” to support deployments with very large data sets and high throughput operations. Sharding splits the data across multiple machines, so that the data can be spread out and accessed in parallel.

5. Aggregation: MongoDB has powerful aggregation capabilities that allow you to process large amounts of data and return computed results. For example, you can use the aggregation framework to calculate the average price of all the products in the collection.

What are the key features of Flutter?

1. Hot Reload: Flutter allows developers to quickly and easily make changes to their code and see the results in real-time. This feature allows developers to experiment, build UIs, add features, and fix bugs much faster.

2. Widgets: Widgets are the building blocks of any Flutter app. They are responsible for the UI and the layout of the app. Flutter provides a large collection of widgets that can be used to quickly build an app with a native feel.

3. Platform Independent: Flutter apps are platform independent, meaning they can be built for both Android and iOS devices. This allows developers to easily create apps for multiple platforms with the same codebase.

4. Accessible Native Features: Flutter apps can access native features like GPS, camera, and more. This allows developers to create apps with native features without having to write separate code for each platform.

5. Fast Development: Flutter apps are fast to develop since they can be written in a single codebase. This reduces the development time and allows developers to quickly build apps.

What are the key features of Node.js?

1. Asynchronous and Event Driven: All APIs of Node.js library are asynchronous, that is, non-blocking. It essentially means a Node.js based server never waits for an API to return data. Example:

var fs = require(“fs”);

fs.readFile(‘input.txt’, function (err, data) {
if (err) return console.error(err);
console.log(data.toString());
});

console.log(“Program Ended”);

2. Single Threaded but Highly Scalable: Node.js uses a single threaded model with event looping. Event mechanism helps the server to respond in a non-blocking way and makes the server highly scalable as opposed to traditional servers which create limited threads to handle requests.

3. Fast: Node.js is built on Google Chrome’s V8 JavaScript Engine, so its library is very fast in code execution.

4. No Buffering: Node.js applications never buffer any data. These applications simply output the data in chunks.

5. License: Node.js is released under the MIT license.