📜  MongoDB Stitch(1)

📅  最后修改于: 2023-12-03 15:17:41.749000             🧑  作者: Mango

MongoDB Stitch

MongoDB Stitch is a serverless platform that enables developers to easily and securely build and deploy custom backend services for their applications without the need for traditional infrastructure management.

Features
MongoDB Integration

MongoDB Stitch provides seamless integration with MongoDB, allowing developers to access and manipulate data stored in their MongoDB databases directly from their Stitch functions.

//Example of MongoDB Stitch function accessing data from MongoDB
exports = async function() {
  const coll = context.services.get("mongodb-atlas").db("sample_restaurants").collection("restaurants");
  const result = await coll.find().limit(5).toArray();
  return result;
};
Triggers

Stitch triggers allow developers to execute custom logic in response to various MongoDB events, such as document insertions, updates, and deletions.

//Example of MongoDB Stitch trigger executing custom logic in response to document insertions
exports = function(changeEvent) {
  const fullDocument = changeEvent.fullDocument;
  const authorId = fullDocument.authorId;
  
  const mailer = context.services.get("mailer");
  const email = {
    to: "admin@example.com",
    from: "noreply@example.com",
    subject: `New blog post by author ${authorId}`,
    body: `A new blog post has been added by author ${authorId}.`
  };
  
  return mailer.send(email);
};
Authentication

MongoDB Stitch provides a robust authentication system that supports a variety of authentication providers, including email/password, Google, Facebook, and more. It also supports custom authentication providers and seamless integration with external identity providers.

//Example of implementing custom authentication provider in MongoDB Stitch
exports = function(request) {
  const token = request.headers["Authorization"].split(" ")[1];
  const userInfo = verifyToken(token);
  
  const users = context.services.get("mongodb-atlas").db("sample_users").collection("users");
  const user = users.findOne({ _id: BSON.ObjectId(userInfo.userId) });
  
  return { 
    userId: user._id.toString(), 
    data: user.customData 
  };
};
Benefits
Scalability

With MongoDB Stitch, developers can easily scale their backend services to meet the demands of their applications without worrying about infrastructure management or capacity planning.

Security

MongoDB Stitch provides a secure and reliable platform for building and deploying backend services, with robust authentication and authorization systems, as well as secure and encrypted data storage.

Ease of Use

MongoDB Stitch simplifies backend development by providing a high-level, declarative API that abstracts away many of the complexities of traditional backend development. This makes it easy for developers to focus on building great applications without worrying about the backend infrastructure.