Hàm MongoDB

Hàm Stitch cho phép bạn xác định và thực thi logic phía máy chủ cho ứng dụng của mình. Bạn có thể gọi các hàm từ các ứng dụng khách của mình cũng như từ các hàm khác và trong các biểu thức JSON trong toàn bộ Stitch

Các chức năng được viết bằng JavaScript hiện đại (ES6+) và thực thi theo cách không cần máy chủ. Khi bạn gọi một chức năng , bạn có thể tự động truy cập các thành phần của ứng dụng hiện tại cũng như thông tin về yêu cầu thực thi chức năng và người dùng đã đăng nhập. .

Theo mặc định, Hàm Stitch không có Nút. mô-đun js có sẵn để nhập. Nếu bạn muốn sử dụng bất kỳ mô-đun nào như vậy, bạn có thể tải các phụ thuộc bên ngoài lên để cung cấp chúng cho nhập . .

Trường hợp sử dụng¶

Bạn có thể sử dụng các chức năng để xử lý logic kết nối chạy trong thời gian ngắn, độ trễ thấp và các tương tác phía máy chủ khác. Các hàm đặc biệt hữu ích khi bạn muốn làm việc với nhiều dịch vụ, hoạt động linh hoạt dựa trên người dùng hiện tại hoặc trừu tượng hóa các chi tiết triển khai khỏi ứng dụng khách của bạn. Bạn có thể tải lên Nút bên ngoài. js và nhập chúng vào các chức năng của bạn để hợp lý hóa quá trình xử lý dữ liệu và sử dụng lại mã được chia sẻ

Stitch cũng sử dụng các chức năng nội bộ cho webhook và trình kích hoạt đến. Các hàm mà bạn tạo cho các thành phần này là các hàm Stitch thông thường nhận các đối số cụ thể tùy thuộc vào dịch vụ

Hành vi¶

  • Stitch tự động mã hóa các giá trị được trả về từ các hàm dưới dạng JSON mở rộng
  • Các chức năng không tiếp tục thực thi sau khi chúng quay trở lại. Bạn không thể sử dụng các chức năng với các cuộc gọi lại hoặc trình xử lý sự kiện không đồng bộ. Nếu bạn cần thực hiện công việc không đồng bộ trong một chức năng, hãy sử dụng một lời hứa

Hạn chế¶

  • Thời gian chạy chức năng được giới hạn trong 90 giây
  • Sử dụng bộ nhớ chức năng được giới hạn ở 256MB
  • Các chức năng hiện không hỗ trợ các tính năng ES6+ sau
    • Các loại đối tượng toàn cục mới (i. e. WeakMap, Set, WeakSet, Symbol, Proxy)
    • Các API toán học, số, chuỗi, mảng và đối tượng mới (e. g. Array.prototype.includes)
  • Một chức năng có thể mở tối đa 5 ổ cắm bằng mô-đun tích hợp mạng
  • Stitch không hỗ trợ một số mô-đun Node tích hợp. Để biết danh sách đầy đủ các mô-đun không được hỗ trợ, hãy xem Hỗ trợ mô-đun tích hợp .

Các khái niệm¶

Người dùng đang hoạt động¶

Người dùng đang hoạt động của một hàm thực thi nhất định là người dùng được xác thực đã gọi hàm đó. Các hàm kế thừa bối cảnh người dùng của các hàm khác gọi chúng.

Stitch đánh giá các quy tắc trong ngữ cảnh của người dùng đang hoạt động và giải quyết các tham chiếu động như bối cảnh. người dùng%%user tới đối tượng người dùng của họ.

Chức năng hệ thống¶

Chức năng hệ thống là một chức năng chạy với tư cách là người dùng hệ thống chứ không phải người dùng ứng dụng< . Các chức năng hệ thống có toàn quyền truy cập vào MongoDB CRUD và API tổng hợp bỏ qua các quy tắc thu thập và xác thực lược đồ. . System functions have full access to MongoDB CRUD and Aggregation APIs bypass collection rules and schema validation.

Bạn có thể định cấu hình Chức năng để chạy với tư cách người dùng hệ thống bằng cách bật Chạy với tư cách hệ thống< . Để xác định xem một chức năng có thực thi với tư cách là người dùng hệ thống trong thời gian chạy hay không, hãy gọi context.runningAsSystem(). configuration option. To determine if a function executes as a system user at runtime, call context.runningAsSystem().

Chức năng hệ thống Người dùng đang hoạt động

Stitch luôn giải quyết các tham chiếu động như bối cảnh. người dùng%%user cho người dùng được xác thực đã gọi hàm nếu có. Nếu một chức năng thực thi mà không được gọi bởi người dùng đã được xác thực, chẳng hạn như trong trình kích hoạt hoặc webhook, thì Stitch sẽ giải quyết các tham chiếu động đến người dùng hệ thống để thay thế.

Phụ thuộc bên ngoài¶

Phần phụ thuộc bên ngoài là một thư viện bên ngoài bao gồm logic mà bạn không muốn tự triển khai, chẳng hạn như phân tích cú pháp chuỗi, các hàm tiện lợi cho thao tác mảng và cấu trúc dữ liệu hoặc triển khai thuật toán

Stitch cho phép bạn tải lên các phần phụ thuộc bên ngoài từ sổ đăng ký npm, sau đó nhập các phần phụ thuộc đó vào các chức năng của bạn bằng cú pháp mô-đun JavaScript tiêu chuẩn. Stitch tự động dịch các phụ thuộc và hỗ trợ hầu hết các Node tích hợp sẵn. mô-đun js. Để bắt đầu với các phụ thuộc bên ngoài, hãy xem các hướng dẫn sau

  • Tải lên phụ thuộc bên ngoài
  • Nhập phụ thuộc bên ngoài

Tạo các mô-đun của riêng bạn

Mặc dù hầu hết các mô-đun npm được viết bởi bên thứ ba, nhưng bạn cũng có thể tạo và xuất bản các mô-đun npm của riêng mình để chứa logic cụ thể cho ứng dụng của bạn. Bạn có thể cung cấp các mô-đun của mình cho Nút. js hoặc dự trữ chúng để sử dụng riêng. Để biết thêm thông tin, hãy xem hướng dẫn của npm về Đóng góp các gói vào sổ đăng ký

Hướng dẫn¶

Hướng dẫn Mô tả Xác định Hàm Tìm hiểu cách viết và thêm các hàm mới vào ứng dụng Stitch của bạn. Tải phụ thuộc bên ngoài lên Tìm hiểu cách tạo Nút. js có sẵn để nhập trong hàm Stitch của bạn. Gọi hàm Tìm hiểu cách thực thi các hàm mà bạn đã xác định từ ứng dụng khách hoặc từ một thành phần Stitch khác. Nhập phần phụ thuộc bên ngoài Tìm hiểu cách nhập và gọi Nút đã tải lên. js trong hàm Stitch. Truy cập ngữ cảnh chức năng Tìm hiểu cách truy cập thông tin thời gian chạy và giao diện với các thành phần khác của ứng dụng của bạn từ bên trong một chức năng.

Tài liệu tham khảo¶

Mô tả chủ đề Ngữ cảnh chức năng Bao gồm thông tin chi tiết về các mô-đun context ứng dụng cụ thể cũng như các ví dụ về đối tượng dữ liệu thời gian chạy. Gói tiện ích Bao gồm thông tin chi tiết về các gói tiện ích toàn cầu.

←   Các tính năng dành cho thiết bị di động của MongoDB Xác định chức năng  →

© MongoDB, Inc 2008-nay. MongoDB, Mongo và logo chiếc lá là các nhãn hiệu đã đăng ký của MongoDB, Inc

4 thao tác cơ bản trong MongoDB là gì?

Các phương thức cơ bản để tương tác với máy chủ MongoDB được gọi là thao tác CRUD. CRUD là viết tắt của Tạo, Đọc, Cập nhật và Xóa . Các phương thức CRUD này là những cách chính bạn sẽ quản lý dữ liệu trong cơ sở dữ liệu của mình.

Các phương thức trong MongoDB là gì?

Phương pháp mongosh .
Bộ sưu tập
con trỏ
cơ sở dữ liệu
Kế hoạch truy vấn Cache
Thao tác ghi hàng loạt
Quản lý người dùng
Quản lý vai trò
Nhân rộng

Bạn có thể lưu trữ một chức năng trong MongoDB không?

Có một bộ sưu tập hệ thống đặc biệt có tên là hệ thống. js có thể lưu trữ các hàm JavaScript để sử dụng lại . ); .

Hàm tổng hợp MongoDB là gì?

Trong MongoDB, các thao tác tổng hợp xử lý bản ghi/tài liệu dữ liệu và trả về kết quả tính toán . Nó thu thập các giá trị từ các tài liệu khác nhau và nhóm chúng lại với nhau, sau đó thực hiện các loại hoạt động khác nhau trên dữ liệu được nhóm đó như tổng, trung bình, tối thiểu, tối đa, v.v. để trả về kết quả được tính toán.