JavaScript trong MongoDB

MongoDB là cơ sở dữ liệu NoSQL mã nguồn mở nổi tiếng được xây dựng trên ngôn ngữ lập trình C++. MongoDB là một cơ sở dữ liệu hướng tài liệu sử dụng các tài liệu giống như JSON và Lược đồ động để lưu trữ thông tin. Điều đó có nghĩa là trong khi lưu dữ liệu của bạn, bạn sẽ không phải lo lắng về Cấu trúc dữ liệu, số lượng trường hoặc loại trường được sử dụng để lưu trữ giá trị. Các đối tượng JSON giống với Tài liệu MongoDB

Show

Bạn có thể thay đổi cấu trúc của các bản ghi bằng cách thêm các trường mới hoặc xóa các trường hiện có (mà MongoDB gọi là Tài liệu). Chức năng này có thể được sử dụng để mô tả Mối quan hệ phân cấp, Mảng lưu trữ và các Cấu trúc dữ liệu tinh vi hơn khác trong MongoDB. MongoDB đang được sử dụng để lưu trữ khối lượng dữ liệu khổng lồ bởi một số công ty kỹ thuật số, bao gồm Facebook, eBay, Adobe và Google

Các tính năng chính của MongoDB

MongoDB có nhiều tính năng độc đáo khiến nó trở thành một sự thay thế tốt hơn so với các cơ sở dữ liệu tiêu chuẩn khác. Một số đặc điểm này như sau

  • Khả năng mở rộng theo chiều ngang. MongoDB sharding cho phép điều này. Sharding là quá trình chia sẻ dữ liệu qua nhiều máy chủ. Khóa phân đoạn được sử dụng để phân vùng một lượng lớn dữ liệu thành các khối dữ liệu, sau đó phân bổ đồng đều giữa các Phân đoạn trên một số Máy chủ vật lý
  • Cơ sở dữ liệu lược đồ ít hơn. Cơ sở dữ liệu không có lược đồ duy trì nhiều loại tài liệu trong một bộ sưu tập (tương đương với một bảng). Nói cách khác, một bộ sưu tập MongoDB duy nhất có thể bao gồm một số tài liệu, mỗi tài liệu có một bộ Trường, Nội dung và Kích thước riêng. Không giống như Cơ sở dữ liệu quan hệ, không có yêu cầu rằng một tài liệu phải tương đương với một tài liệu khác. Do chức năng này, MongoDB mang đến cho người dùng rất nhiều tính linh hoạt
  • Tài liệu dựa trên chỉ mục. Mọi trường trong cơ sở dữ liệu MongoDB được lập chỉ mục với Chỉ số chính và phụ, giúp truy xuất dữ liệu dễ dàng hơn
  • Nhân rộng. MongoDB cho phép tính sẵn sàng cao của dữ liệu bằng cách tạo nhiều bản sao của dữ liệu và truyền chúng đến một máy chủ riêng biệt, cho phép khôi phục dữ liệu ngay cả khi một máy chủ bị lỗi

JavaScript là gì?

JavaScript trong MongoDB
Nguồn hình ảnh

JavaScript là ngôn ngữ lập trình đơn giản cho phép người dùng thêm các tính năng và chức năng nâng cao vào trang web. Nó cung cấp hành vi cho một trang web và javascript được sử dụng bởi khoảng 97% tất cả các trang web trên internet. Về phía máy khách, các trang web sử dụng JavaScript và thường xuyên sử dụng các thư viện của bên thứ ba. Để chạy mã JavaScript trên thiết bị của khách hàng, tất cả các trình duyệt web chính đều có công cụ JavaScript. Trang web tĩnh được chuyển đổi thành trang web tương tác bằng JavaScript

JavaScript là ngôn ngữ kịch bản để xây dựng các ứng dụng nối mạng. Bạn có thể viết JavaScript trong bất kỳ trình chỉnh sửa mã hoặc trình chỉnh sửa tệp nào, lưu tệp với. js và chạy nó trong bất kỳ trình duyệt web chính nào mà không phải cài đặt bất kỳ gói hoặc thư viện nào khác

Các tính năng chính của JavaScript

Sau đây là một số tính năng của JavaScript

  • Nền tảng độc lập. Vì các trình duyệt web diễn giải JavaScript nên nó loại bỏ mọi sự phụ thuộc vào nền tảng, khả năng tương thích và các vấn đề khác. JavaScript thêm chức năng cho nhiều trình duyệt giúp giảm tải máy chủ và lưu lượng mạng
  • Nhập động. Nó ngụ ý rằng các loại biến được xác định bởi giá trị được lưu trữ
  • Xử lý không đồng bộ. JavaScript hỗ trợ lập trình không đồng bộ, có nghĩa là nó có thể thực hiện các tác vụ không đồng bộ mà không cần đợi phản hồi, điều này có thể làm chậm quá trình xử lý yêu cầu
  • Phương pháp chức năng. JavaScript có cách tiếp cận chức năng để tạo đối tượng, với mỗi hàm Object() { [mã gốc] } hàm đại diện cho một loại đối tượng khác nhau

Đơn giản hóa MongoDB ETL bằng Đường ống dữ liệu không mã của Hevo

Dữ liệu Hevo là Đường ống dữ liệu không có mã cung cấp giải pháp được quản lý hoàn toàn để thiết lập Tích hợp dữ liệu cho hơn 100 nguồn dữ liệu (bao gồm hơn 40 nguồn miễn phí) và sẽ cho phép bạn tải trực tiếp dữ liệu từ các nguồn như MongoDB đến Kho dữ liệu hoặc Đích . Nó sẽ tự động hóa luồng dữ liệu của bạn trong vài phút mà không cần viết bất kỳ dòng mã nào. Kiến trúc chịu lỗi của nó đảm bảo rằng dữ liệu của bạn được an toàn và nhất quán. Hevo cung cấp cho bạn một giải pháp thực sự hiệu quả và hoàn toàn tự động để quản lý dữ liệu theo thời gian thực và luôn có sẵn dữ liệu để phân tích.  

Bắt đầu với Hevo miễn phí

Cùng điểm qua một số tính năng nổi bật của Hevo

  • Được quản lý hoàn toàn. Nó không yêu cầu quản lý và bảo trì vì Hevo là một nền tảng hoàn toàn tự động
  • Chuyển đổi dữ liệu. Nó cung cấp một giao diện đơn giản để hoàn thiện, sửa đổi và làm giàu dữ liệu bạn muốn chuyển.  
  • Thời gian thực. Hevo cung cấp di chuyển dữ liệu theo thời gian thực. Vì vậy, dữ liệu của bạn luôn sẵn sàng để phân tích
  • Quản lý lược đồ. Hevo có thể tự động phát hiện lược đồ của dữ liệu đến và ánh xạ nó tới lược đồ đích
  • kết nối. Hevo hỗ trợ hơn 100 Tích hợp cho nền tảng SaaS FTP/SFTP, Tệp, Cơ sở dữ liệu, công cụ BI và API REST gốc & Trình kết nối Webhooks. Nó hỗ trợ nhiều điểm đến khác nhau bao gồm Google BigQuery, Amazon Redshift, Snowflake, Firebolt, Data Warehouses; .   
  • Chắc chắn. Hevo có kiến ​​trúc chịu lỗi đảm bảo rằng dữ liệu được xử lý một cách an toàn, nhất quán và không bị mất dữ liệu
  • Hevo được xây dựng để mở rộng quy mô. Khi số lượng nguồn và khối lượng dữ liệu của bạn tăng lên, Hevo sẽ mở rộng quy mô theo chiều ngang, xử lý hàng triệu bản ghi mỗi phút với rất ít độ trễ
  • Giám sát trực tiếp. Giám sát nâng cao cung cấp cho bạn chế độ xem một cửa để theo dõi tất cả các hoạt động diễn ra trong Đường ống dữ liệu
  • Hỗ trợ trực tuyến. Nhóm Hevo luôn sẵn sàng mở rộng hỗ trợ đặc biệt cho khách hàng của mình thông qua trò chuyện, email và các cuộc gọi hỗ trợ
Đăng ký tại đây để dùng thử miễn phí 14 ngày

Các bước cấu hình MongoDB JavaScript (NodeJS)

Bước 1. Cài đặt trình điều khiển NodeJS và MongoDB JavaScript (NodeJS)

Trước tiên, hãy đảm bảo rằng bạn có phiên bản Node. js được hỗ trợ. nút 4. x trở lên là bắt buộc đối với phiên bản Trình điều khiển MongoDB JavaScript (NodeJS) hiện tại. Nút. js 14. 15. 4 đang được sử dụng cho những ví dụ này. Để biết thêm thông tin về phiên bản Node. js được yêu cầu cho mỗi phiên bản trình điều khiển MongoDB JavaScript (NodeJS), hãy xem tài liệu Tương thích MongoDB

Trình điều khiển MongoDB JavaScript (NodeJS) giúp dễ dàng làm việc với cơ sở dữ liệu MongoDB từ Node. ứng dụng js. Để kết nối với cơ sở dữ liệu của bạn và chạy các truy vấn được thảo luận trong loạt bài Bắt đầu nhanh này, bạn sẽ cần trình điều khiển MongoDB JavaScript (NodeJS). Nếu bạn chưa cài đặt Trình điều khiển MongoDB JavaScript (NodeJS), hãy sử dụng lệnh sau để thực hiện

npm install mongodb

Trình điều khiển MongoDB JavaScript (NodeJS) này đã được cài đặt với phiên bản 3. 6. 4 tại thời điểm viết. Số phiên bản trình điều khiển MongoDB JavaScript (NodeJS) hiện tại có thể được tìm thấy bằng cách chạy npm list mongodb. Xem tài liệu chính thức để biết thêm thông tin về cài đặt và trình điều khiển MongoDB JavaScript (NodeJS)

Bước 2. Tạo một cụm miễn phí và nhận thông tin kết nối của cụm của bạn

  • Sau đó, bạn sẽ yêu cầu cơ sở dữ liệu MongoDB. Atlas, dịch vụ cơ sở dữ liệu được quản lý hoàn toàn của MongoDB, là cách đơn giản nhất để bắt đầu với MongoDB
  • Để bắt đầu, hãy truy cập Atlas và thiết lập một cụm mới bằng bậc miễn phí. Một cụm là một tập hợp các máy tính nơi các bản sao cơ sở dữ liệu của bạn được lưu trữ ở mức cao. Tải dữ liệu mẫu vào tầng của bạn sau khi được tạo.  
  • Bước tiếp theo là chuẩn bị cho cụm của bạn sẵn sàng kết nối. Điều hướng đến cụm của bạn trong Atlas và nhấp vào KẾT NỐI. Trình hướng dẫn kết nối cụm sẽ hiển thị trên màn hình
  • Nếu bạn chưa làm như vậy, trình hướng dẫn sẽ nhắc bạn thêm địa chỉ IP hiện tại của mình vào Danh sách truy cập IP và tạo Người dùng MongoDB. Ghi lại Tên người dùng và Mật khẩu mới của Người dùng MongoDB vì bạn sẽ cần chúng sau này
  • Trình hướng dẫn sau đó sẽ yêu cầu bạn chọn phương thức kết nối. Kết nối ứng dụng của bạn là tùy chọn để chọn. Chọn nút. js và 3. 6 trở lên khi Trình hướng dẫn yêu cầu bạn chọn phiên bản trình điều khiển MongoDB JavaScript (NodeJS) của bạn. Sao chép chuỗi kết nối đã được cung cấp

Xem tài liệu chính thức để biết thêm thông tin về cách sử dụng Trình hướng dẫn kết nối và làm theo các quy trình nêu trên

Bước 3. Nhập MongoClient

MongoClient là bản xuất từ ​​mô-đun MongoDB mà bạn sẽ sử dụng để kết nối với Cơ sở dữ liệu MongoDB. Bạn có thể kết nối với một cụm, truy cập cơ sở dữ liệu trong cụm đó và kết thúc kết nối với cụm đó bằng phiên bản MongoClient

const {MongoClient} = require('mongodb');

Bước 4. Tạo chức năng chính của bạn

Hãy tạo một hàm không đồng bộ main() kết nối với Cụm MongoDB của chúng tôi, gọi các phương thức truy vấn cơ sở dữ liệu của chúng tôi và sau đó ngắt kết nối khỏi Cụm của bạn

async function main() {
	// we'll add code here soon
}

Inside main(), the first thing we need to do is construct a constant for our connection URI. The connection URI is the connection string you copied in the previous section and pasted into Atlas. Remember to adjust and to the credentials for the user you created in the previous section when you paste the connection string. A placeholder is included in the connection string. You’ll be using the sample_airbnb database in these examples, so replace with sample_airbnb.

/**
 * Connection URI. Update , , and  to reflect your cluster.
 * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
 */
const uri = "mongodb+srv://:@/test?retryWrites=true&w=majority";

Bạn có thể xây dựng một phiên bản MongoClient ngay bây giờ khi bạn biết URL

const client = new MongoClient(uri);

Bây giờ bạn đã sẵn sàng kết nối với Cụm của chúng tôi với MongoClient. Một lời hứa sẽ được trả lại bởi khách hàng. liên kết(). Khi bạn sử dụng máy khách. connect(), bạn sẽ sử dụng từ khóa đang chờ để biểu thị rằng bạn không nên làm gì khác cho đến khi thao tác đó kết thúc

await client.connect();

Bây giờ bạn đã sẵn sàng làm việc với cơ sở dữ liệu của mình. Hãy tạo một hàm báo cáo tên cơ sở dữ liệu trong Cụm này. Để tăng khả năng đọc phần mềm của bạn, bạn nên đặt logic này vào các hàm được đặt tên rõ ràng. Khi bạn tìm hiểu cách xây dựng các loại truy vấn khác nhau, bạn sẽ tạo các hàm mới giống với hàm bạn đang tạo ở đây trong suốt các bước này. Bây giờ hãy gọi một phương thức listDatabases()

await listDatabases(client);

Để xử lý bất kỳ sự cố không mong muốn nào, hãy gói các lệnh gọi của bạn đến các chức năng giao tiếp với cơ sở dữ liệu trong câu lệnh try/catch

try {
    await client.connect();

    await listDatabases(client);
 
} catch (e) {
    console.error(e);
}

Bạn sẽ kết thúc quá trình thử/bắt bằng câu lệnh cuối cùng để đảm bảo rằng bạn đã đóng kết nối với Cụm

________số 8_______

Bạn phải gọi hàm main() của chúng ta sau khi nó được viết. Hãy sử dụng bảng điều khiển để gửi lỗi

main().catch(console.error);

Khi tất cả được đặt cùng nhau, hàm main() và lời gọi hàm sẽ trông như thế này

const {MongoClient} = require('mongodb');
0

Bước 5. Liệt kê các cơ sở dữ liệu trong cụm của bạn

Chức năng này sẽ lấy danh sách cơ sở dữ liệu của Cụm của bạn và xuất kết quả ra bàn điều khiển

const {MongoClient} = require('mongodb');
1

Bạn đã đặt rất nhiều mã tại chỗ. Lưu các thay đổi của bạn và đổi tên kết nối tệp. js để phản ánh những thay đổi của bạn. Truy cập repo GitHub của nodejs-quickstart để xem bản sao của toàn bộ tệp

Bước 6. Triển khai Tập lệnh NodeJS của bạn

Bây giờ là lúc để kiểm tra mã của bạn. Chạy lệnh sau trong thiết bị đầu cuối của bạn để thực thi tập lệnh của bạn.  

const {MongoClient} = require('mongodb');
2

Một số cách khác để kết nối với MongoDB là gì?

Kết nối với Bộ bản sao

Triển khai bộ bản sao MongoDB là một tập hợp các phiên bản được liên kết, tất cả đều chứa cùng một dữ liệu. Dự phòng dữ liệu và tính khả dụng dữ liệu tuyệt vời được cung cấp bởi sự kết hợp các phiên bản này

Để kết nối với triển khai bộ bản sao, hãy sử dụng tên máy chủ và số cổng của từng phiên bản được phân tách bằng dấu phẩy trong chuỗi kết nối, cũng như tên bộ bản sao làm giá trị của tùy chọn Bộ bản sao

const {MongoClient} = require('mongodb');
3

Theo mặc định, trình điều khiển MongoDB JavaScript (NodeJS) thực hiện các tác vụ sau trong khi thiết lập kết nối

  • Khi địa chỉ của một thành viên được cung cấp, nó sẽ tìm thấy tất cả các thành viên khác trong bộ bản sao
  • Gửi các hoạt động cho thành viên thích hợp, chẳng hạn như viết chống lại chính

Kết nối với Máy chủ MongoDB trên Phiên bản cục bộ của bạn

Bạn phải thực hiện các bước sau nếu cần chạy Máy chủ MongoDB trên PC cục bộ của mình vì lý do phát triển thay vì sử dụng Cụm Atlas

  • MongoDB Server có hai phiên bản. Cộng đồng và Doanh nghiệp
  • MongoDB Server phải được cài đặt và cấu hình
  • Khởi chạy máy chủ

Chỉ định chuỗi kết nối của bạn trong mã kết nối trình điều khiển MongoDB JavaScript (NodeJS) sau khi bạn đã khởi động thành công Máy chủ MongoDB của mình

If your MongoDB Server is locally installed, you can use the connection string “mongodb://localhost:” where is the port number on which your server is set to accept incoming connections. You can refer to Manual on Connection Strings if you need to supply a different hostname or IP address. Replace the connection string in the sample with your server’s connection string to see whether you can connect.

Làm cách nào để sử dụng Giao dịch MongoDB trong NodeJS?

Hầu hết các trường hợp sử dụng không bắt buộc phải sử dụng các giao dịch Javascript MongoDB đa tài liệu, như bạn có thể đã phát hiện ra khi làm việc với MongoDB. Bạn sẽ hiếm khi cần thực hiện một giao dịch nhiều tài liệu nếu bạn lập mô hình dữ liệu của mình bằng cách sử dụng quy tắc ngón tay cái của chúng tôi. Dữ liệu được truy cập cùng nhau phải được lưu giữ cùng nhau. Thật vậy, thật khó để đưa ra một trường hợp sử dụng cho bộ dữ liệu Airbnb yêu cầu giao dịch nhiều tài liệu

Đây là một ví dụ hợp lý. Giả sử mọi người có thể đặt chỗ trong cơ sở dữ liệu sample_airbnb

Bước 1. Tạo giao dịch trong nút. js

Nhận bản sao của nút. Mẫu js

Đây là một mẫu cơ bản cho một Nút. js truy cập cụm Atlas để giúp việc theo dõi bài đăng trên blog này dễ dàng hơn

  • Mẫu. js có sẵn để tải xuống
  • Trong Trình chỉnh sửa mã ưa thích của bạn, hãy mở mẫu. js
  • Để trỏ đến cụm Atlas của bạn, hãy thay đổi URI kết nối. Tham khảo lại bài đăng đầu tiên trong loạt bài này nếu bạn không chắc chắn cách thực hiện
  • Lưu tệp với giao dịch mở rộng. js

Bạn có thể chạy tệp này trong trình bao của mình bằng cách nhập giao dịch nút. js. Không có đầu ra nào được mong đợi tại thời điểm này vì tệp chỉ mở và đóng kết nối với cụm Atlas của bạn. Nếu bạn gặp phải DeprecationWarnings, hãy tạm thời bỏ qua chúng

Tạo chức năng trợ giúp

Hãy bắt đầu bằng cách xây dựng Hàm trợ giúp. Chức năng này tạo một tài liệu đặt phòng mà bạn sẽ sử dụng sau này

trong giao dịch. js, dán chức năng sau

const {MongoClient} = require('mongodb');
4

Đây là một ví dụ về những gì chức năng này làm để cung cấp cho bạn một bức tranh rõ hơn về những gì nó làm. Hàm này có thể được gọi từ bên trong hàm main()

const {MongoClient} = require('mongodb');
5

Sau đây là những gì chức năng sẽ trả về

const {MongoClient} = require('mongodb');
6

Tạo chức năng cho giao dịch

Hãy tạo một chức năng sẽ đặt chỗ trong cơ sở dữ liệu

Tạo một phương thức không đồng bộ có tên là createReservation trong khi vẫn hoạt động trong giao dịch. js. Hàm phải lấy MongoClient làm tham số, cũng như địa chỉ email của người dùng, tên của danh sách Airbnb, ngày đặt phòng và bất kỳ chi tiết đặt phòng nào khác

const {MongoClient} = require('mongodb');
7

Bây giờ bạn phải có quyền truy cập vào các bộ sưu tập sẽ được cập nhật trong chức năng này. Để tạoReservation(), hãy thêm đoạn mã sau

const {MongoClient} = require('mongodb');
8

Hãy bắt đầu bằng cách gọi hàm trợ giúp mà bạn đã phát triển trong phần trước để xây dựng tài liệu đặt phòng. Trong createReservation(), dán đoạn mã sau

const {MongoClient} = require('mongodb');
9

Một phiên phải được liên kết với từng giao dịch và quy trình liên quan. Bắt đầu một phiên phía sau mã hiện có trong createReservation()

async function main() {
	// we'll add code here soon
}
0

Bạn có khả năng xác định các lựa chọn giao dịch. Thông tin thêm về các tùy chọn này có thể được tìm thấy trong MongoDB JavaScript (NodeJS). Thay thế mã cũ trong createReservation() bằng mã sau

async function main() {
	// we'll add code here soon
}
1

Tạo một khối thử bên dưới mã hiện có trong createReservation(), theo sau là khối bắt và cuối cùng là khối cuối cùng

async function main() {
	// we'll add code here soon
}
2

Để bắt đầu một giao dịch, thực hiện chức năng gọi lại và cam kết (hoặc hủy bỏ nếu không thành công), bạn có thể sử dụng phương thức withTransaction() của ClientSession. Bạn phải cung cấp một phương thức cho withTransaction() sẽ chạy bên trong giao dịch. Trong vòng try{}, thêm lệnh gọi withTransaction(). Hãy bắt đầu bằng cách cung cấp withTransaction() một hàm không đồng bộ ẩn danh

async function main() {
	// we'll add code here soon
}
3

Bạn đang cung cấp một chức năng gọi lại ẩn danh cho withTransaction() mà hiện tại không có tác dụng gì. Hãy bắt đầu xây dựng từng thủ tục cơ sở dữ liệu mà bạn muốn gọi từ bên trong chức năng đó. Để bắt đầu, bạn sẽ thêm đặt chỗ vào mảng đặt chỗ trong tài liệu người dùng có liên quan. Bên trong hàm ẩn danh đang được cung cấp cho withTransaction(), hãy dán đoạn mã sau

async function main() {
	// we'll add code here soon
}
4

Bạn nên kiểm tra xem ngày đặt trước đã được nêu trong mảng dateReserve của nhà/phòng cho thuê hay chưa để đảm bảo rằng nhà/phòng cho thuê Airbnb không bị đặt trùng ngày cho bất kỳ ngày cụ thể nào. Nếu đây là trường hợp, bạn nên hủy giao dịch. Bản cập nhật đối với tài liệu người dùng mà bạn đã thực hiện ở bước trước sẽ được khôi phục nếu giao dịch bị hủy bỏ. Thay thế mã hiện tại trong hàm ẩn danh bằng mã sau

async function main() {
	// we'll add code here soon
}
5

Điều cuối cùng bạn cần làm trong giao dịch là thêm ngày đặt trước vào mảng ngày thu thập của listingsAndReviews Reserved. Thay thế mã hiện tại trong hàm ẩn danh bằng mã sau

async function main() {
	// we'll add code here soon
}
6

Nếu thỏa thuận đi qua, bạn sẽ muốn biết. Bạn sẽ biết giao dịch thành công nếu giao dịchResults được xác định. Nếu giao dịchResults không được xác định, bạn sẽ biết mã đã bị hủy bỏ có chủ đích. Dán đoạn mã sau bên dưới định nghĩa của hằng số transactionResults

async function main() {
	// we'll add code here soon
}
7

Hãy theo dõi bất kỳ lỗi nào xảy ra. Bên trong bắt(e), dán như sau

async function main() {
	// we'll add code here soon
}
8

Bất cứ điều gì xảy ra, bạn phải tạm dừng cuộc họp này. Cuối cùng, dán phần sau vào bên trong {}

async function main() {
	// we'll add code here soon
}
9

Sau đây là chức năng của bạn sẽ trông như thế nào trong Mongodb Javascript vào thời điểm này

/**
 * Connection URI. Update , , and  to reflect your cluster.
 * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
 */
const uri = "mongodb+srv://:@/test?retryWrites=true&w=majority";
0

Bước 2. Tạo giao dịch trong nút. js

Hãy thử nghiệm chức năng mới của chúng ta ngay bây giờ khi bạn đã xây dựng một chức năng tạo đặt chỗ bằng cách sử dụng giao dịch. Hãy đặt chỗ cho Leslie cho các đêm 31/12/2019 và 01/01/2020 tại danh sách “Infinite Views”

Gọi hàm createReservation() của bạn trong hàm main(), bên dưới dòng có nội dung Thực hiện các cuộc gọi DB thích hợp

/**
 * Connection URI. Update , , and  to reflect your cluster.
 * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
 */
const uri = "mongodb+srv://:@/test?retryWrites=true&w=majority";
1

Tạo bản sao lưu tệp Mongodb Javascript của bạn. Trong trình bao của bạn, hãy chạy giao dịch nút. js để chạy tập lệnh của bạn

Trong vỏ của bạn, đầu ra sau sẽ xuất hiện

/**
 * Connection URI. Update , , and  to reflect your cluster.
 * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
 */
const uri = "mongodb+srv://:@/test?retryWrites=true&w=majority";
2

Đặt trước hiện có trong tài liệu của Leslie trong bộ sưu tập người dùng

/**
 * Connection URI. Update , , and  to reflect your cluster.
 * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
 */
const uri = "mongodb+srv://:@/test?retryWrites=true&w=majority";
3

Ngày đặt phòng hiện được bao gồm trong danh sách “Lượt xem vô hạn” của bộ sưu tập danh sáchAndReviews

/**
 * Connection URI. Update , , and  to reflect your cluster.
 * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
 */
const uri = "mongodb+srv://:@/test?retryWrites=true&w=majority";
4

Hiểu các hoạt động CRUD của MongoDB JavaScript (NodeJS)

1) Tạo

Tạo một tài liệu

Hãy bắt đầu bằng cách tạo một danh sách Airbnb hoàn toàn mới. Bạn có thể đạt được điều này bằng cách sử dụng lệnh insertOne() của Bộ sưu tập. Chèn một tài liệu vào bộ sưu tập với insertOne(). Tài liệu mới (thuộc loại đối tượng) sẽ được chèn vào tham số cần thiết duy nhất. Nếu tài liệu mới của bạn không có cột _id, trình điều khiển MongoDB JavaScript (NodeJS) sẽ tự động tạo một cột cho chúng tôi

Sau đây là cách thức hoạt động của chức năng tạo danh sách mới

/**
 * Connection URI. Update , , and  to reflect your cluster.
 * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
 */
const uri = "mongodb+srv://:@/test?retryWrites=true&w=majority";
5

Chức năng này có thể được gọi bằng cách chuyển một MongoClient được kết nối và một đối tượng chứa thông tin danh sách

/**
 * Connection URI. Update , , and  to reflect your cluster.
 * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
 */
const uri = "mongodb+srv://:@/test?retryWrites=true&w=majority";
6

Sau đây là một ví dụ về đầu ra

/**
 * Connection URI. Update , , and  to reflect your cluster.
 * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
 */
const uri = "mongodb+srv://:@/test?retryWrites=true&w=majority";
7

Vì bạn không bao gồm trường có tên _id trong tài liệu, nên trình điều khiển MongoDB JavaScript (NodeJS) đã tự động tạo trường đó. Tài liệu bạn tạo sẽ có _id khác với tài liệu được chỉ ra ở trên.  

Tạo nhiều tài liệu

Đôi khi, bạn có thể muốn chèn nhiều tài liệu cùng một lúc. Bạn có tùy chọn gọi liên tục insertOne(). Vấn đề là, tùy thuộc vào cách mã của bạn được thiết kế, cuối cùng bạn có thể phải đợi mỗi thao tác chèn hoàn tất trước khi chuyển sang thao tác tiếp theo, dẫn đến mã chậm

Thay vào đó, bạn có thể sử dụng phương thức insertMany() của Collection. insertMany() sẽ điền vào bộ sưu tập của bạn một mảng tài liệu

Một điều cần lưu ý với insertMany() là nó có thể được đặt hàng. Nếu thứ tự là đúng, các tài liệu sẽ được đặt trong mảng theo thứ tự được chỉ định. Các tài liệu còn lại sẽ không được chèn nếu bất kỳ thao tác chèn nào không thành công (ví dụ: nếu bạn cố gắng chèn một tài liệu có _id đã được sử dụng bởi một tài liệu khác trong bộ sưu tập). Nếu một thứ tự sai, các tài liệu sẽ không được đặt theo thứ tự được chỉ định của mảng. Bất kể có bất kỳ thao tác chèn nào khác không thành công hay không, MongoDB sẽ cố gắng chèn tất cả tài liệu vào mảng đã chỉ định. Đã đặt hàng được đặt thành đúng theo mặc định

Hãy xây dựng một chức năng sẽ tạo ra một số danh sách Airbnb

/**
 * Connection URI. Update , , and  to reflect your cluster.
 * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
 */
const uri = "mongodb+srv://:@/test?retryWrites=true&w=majority";
8

Chức năng này có thể được gọi bằng cách chuyển MongoClient được kết nối và một mảng đối tượng chứa thông tin danh sách

/**
 * Connection URI. Update , , and  to reflect your cluster.
 * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
 */
const uri = "mongodb+srv://:@/test?retryWrites=true&w=majority";
9

Sau đây là một ví dụ về đầu ra của việc gọi hàm createMultipleListings()

const client = new MongoClient(uri);
0

Khi bạn sử dụng insertOne(), Trình điều khiển JavaScript MongoDB (NodeJS) sẽ tự động tạo trường _id cho bạn. Khi bạn gọi insertMany(), Trình điều khiển JavaScript MongoDB (NodeJS) đã tạo lại trường _id cho bạn

2) Cập nhật

Cập nhật một tài liệu

Upsert là một trong những tham số bạn có thể cung cấp cho updateOne(). Upsert là một công cụ hữu ích cho phép bạn cập nhật hoặc chèn tài liệu nếu tài liệu đã tồn tại

Hãy tưởng tượng bạn muốn đảm bảo rằng một nhà/phòng cho thuê trên Airbnb với một tên cụ thể có số lượng phòng ngủ và phòng tắm cụ thể. Trước tiên, bạn phải sử dụng findOne() để xem tài liệu có tồn tại hay không nếu bạn không sử dụng upsert. Nếu tài liệu đã tồn tại, bạn sẽ cập nhật nó bằng updateOne(). Bạn sẽ sử dụng insertOne() để tạo tài liệu nếu nó chưa tồn tại. Bạn có thể gói tất cả các khả năng đó vào một lệnh bằng cách sử dụng upert

Với một sửa đổi quan trọng, chức năng thêm một danh sách với một tên nhất định có thể gần giống với chức năng được xác định ở trên. Trong đối số tùy chọn cho updateOne(), bạn sẽ chuyển {upsert. ĐÚNG VẬY}

const client = new MongoClient(uri);
1

Hãy tưởng tượng bạn không chắc liệu danh sách có tên "Cozy Cottage" có tồn tại trong cơ sở dữ liệu hay không, nếu danh sách đó chứa thông tin lỗi thời. Trong mọi trường hợp, bạn muốn đảm bảo rằng thông tin trong bộ sưu tập được cập nhật. Với một MongoClient được kết nối, tên của danh sách và một đối tượng chứa dữ liệu cập nhật sẽ có trong danh sách, bạn có thể chạy upsertListingByName()

const client = new MongoClient(uri);
2

Nếu tài liệu chưa từng có trước đây, đầu ra của hàm sẽ giống như thế này

const client = new MongoClient(uri);
3

Trong bộ sưu tập listingsAndReviews, bạn đã bao gồm một tài liệu mới

const client = new MongoClient(uri);
4

Bạn có thể sử dụng lại upsertListingByName() nếu chúng ta tìm hiểu thêm về danh sách “Cozy Cottage”

const client = new MongoClient(uri);
5

Và bạn sẽ nhận được kết quả như sau

const client = new MongoClient(uri);
6

Một trường mới gọi là "giường" đã được thêm vào giấy

const client = new MongoClient(uri);
7

Cập nhật nhiều tài liệu

Bạn có thể muốn thay đổi nhiều tài liệu cùng một lúc. Trong trường hợp này, bạn có thể sử dụng phương thức updateMany() của Bộ sưu tập. updateMany(), như updateOne(), mong đợi một bộ lọc của đối tượng loại và bản cập nhật của đối tượng loại. Bạn cũng có thể chọn bao gồm các tùy chọn đối tượng loại

3) Xóa

Xóa một tài liệu

Để bắt đầu, hãy xóa một danh sách Airbnb khỏi bộ sưu tập danh sáchAndReviews

Bạn có thể xóa một tài liệu bằng cách sử dụng phương thức deleteOne() trong Bộ sưu tập. Chỉ cần một tham số cho deleteOne(). bộ lọc đối tượng. Bộ lọc được sử dụng để tìm tài liệu cần xóa. Bộ lọc tương tự như tham số truy vấn bạn đã sử dụng trong findOne() và tham số bộ lọc bạn đã sử dụng trong updateOne(). Bạn có thể tìm kiếm tất cả các tài liệu trong bộ sưu tập bằng cách bao gồm các thuộc tính bằng 0 trong bộ lọc hoặc bạn có thể tinh chỉnh tìm kiếm của mình bằng cách bao gồm một hoặc nhiều thuộc tính

Tùy chọn, deleteOne() có một tham số tùy chọn. Để biết thêm thông tin về những lựa chọn này, hãy xem tài liệu xóaOne()

deleteOne() xóa tài liệu đầu tiên khớp với truy vấn đã chỉ định. Chỉ một tài liệu sẽ bị hủy nếu có nhiều tài liệu khớp với truy vấn. Tài liệu đầu tiên được tìm thấy theo thứ tự tự nhiên sẽ bị xóa nếu bạn không cung cấp bộ lọc

Giả sử bạn muốn xóa danh sách Airbnb có tên cụ thể. Để làm điều này, bạn có thể sử dụng deleteOne(). Tên của danh sách sẽ được bao gồm trong tham số bộ lọc. Bạn có thể viết một hàm để xóa danh sách có tên cụ thể khỏi cơ sở dữ liệu

const client = new MongoClient(uri);
8

Hãy tưởng tượng bạn muốn xóa danh sách Airbnb “Cozy Cottage” mà bạn đã tạo trước đó trong phần này. Bằng cách đặt một MongoClient được kết nối và tên “Cozy Cottage”, bạn có thể gọi deleteListingsByName()

const client = new MongoClient(uri);
9

Đầu ra của việc chạy lệnh trên như sau

await client.connect();
0

Xóa nhiều tài liệu

Bạn có thể muốn xóa nhiều tài liệu cùng một lúc. Trong trường hợp này, bạn có thể sử dụng phương thức deleteMany() của Bộ sưu tập. deleteMany(), giống như deleteOne(), yêu cầu bộ lọc đối tượng được thông qua. Bạn cũng có thể chọn bao gồm các tùy chọn đối tượng loại

Giả sử bạn muốn loại bỏ các tài liệu đã lâu không được cập nhật. Với bộ lọc tìm kiếm các tài liệu được cạo trước một ngày nhất định, bạn có thể chạy deleteMany(). Sau đây là một ví dụ về chức năng

await client.connect();
1

Với một MongoClient được kết nối và một phiên bản Date đại diện cho ngày 15 tháng 2, bạn có thể thực thi deleteListingsScraped BeforeDate() để xóa các danh sách được loại bỏ trước ngày 15 tháng 2 năm 2019

await client.connect();
2

Khi bạn chạy lệnh trên, bạn sẽ nhận được đầu ra sau

await client.connect();
3

Bộ sưu tập của chúng tôi hiện chỉ chứa các tài liệu đã bị loại bỏ gần đây

4) Đọc

Đọc một tài liệu

Hãy bắt đầu bằng cách tìm kiếm danh sách các danh sáchAndReviews cho một danh sách Airbnb theo tên

Bạn có thể sử dụng findOne() của Bộ sưu tập để tìm tài liệu. Tài liệu đầu tiên phù hợp với truy vấn được cung cấp sẽ được trả về bởi findOne(). Chỉ một tài liệu sẽ được trả về, ngay cả khi có nhiều tài liệu phù hợp với truy vấn

Chỉ có một tham số cần thiết cho findOne(). truy vấn đối tượng. MongoDB sẽ sử dụng 0 hoặc nhiều thuộc tính trong đối tượng truy vấn để tìm tài liệu trong bộ sưu tập. Bạn chỉ có thể chuyển một đối tượng trống để truy vấn tất cả tài liệu trong bộ sưu tập mà không hạn chế kết quả của mình theo bất kỳ cách nào

Bạn sẽ bao gồm trường tên trong đối tượng truy vấn mà chúng tôi gửi tới findOne() vì bạn muốn tìm danh sách Airbnb với một tên nhất định

await client.connect();
4

Sau đây là một ví dụ về chức năng tìm danh sách bằng cách truy vấn trường tên

await client.connect();
5

Chức năng này có thể được gọi bằng cách cung cấp MongoClient được kết nối và tên của danh sách bạn muốn tìm. Hãy tìm danh sách “Chế độ xem vô hạn” mà bạn đã tạo trước đó trong phần này

await client.connect();
6

Sản phẩm cuối cùng sẽ trông giống như thế này

await client.connect();
7

Điều quan trọng cần lưu ý là _id của tài liệu trong cơ sở dữ liệu của bạn sẽ khác với _id trong ví dụ đầu ra ở trên

Đọc nhiều tài liệu

Giờ hãy xem cách truy vấn nhiều tài liệu cùng lúc khi bạn đã biết cách truy vấn một mục. Bạn có thể làm như vậy bằng cách quay số định vị của Bộ sưu tập bằng cách sử dụng find()

Đối tượng truy vấn là tham số ban đầu cho find(), giống như đối tượng findOne(). Trong đối tượng truy vấn, bạn có thể bao gồm từ 0 đến nhiều thuộc tính

Giả sử bạn muốn tìm tất cả nhà/phòng cho thuê trên Airbnb có ít nhất hai phòng ngủ và hai phòng tắm. Bạn có thể thực hiện điều đó bằng cách quay số sau

await client.connect();
8

Như bạn có thể thấy, đối tượng truy vấn của bạn có hai thuộc tính. một cho phòng ngủ và một cho phòng tắm. Toán tử truy vấn so sánh $gte có thể được sử dụng để tìm tài liệu có phòng ngủ lớn hơn hoặc bằng một số nhất định. Bạn có thể làm tương tự để đáp ứng nhu cầu về số lượng phòng vệ sinh nhất định. Các toán tử truy vấn so sánh khác có sẵn trong MongoDB và có thể được sử dụng trong các truy vấn của bạn.  

Một con trỏ sẽ được trả về bởi truy vấn trên. Con trỏ là một công cụ để duyệt tập kết quả của truy vấn

Các chức năng của con trỏ cũng có thể được sử dụng để thay đổi tài liệu nào được đưa vào kết quả. Hãy tưởng tượng bạn muốn sắp xếp các kết quả của chúng tôi để những kết quả có đánh giá gần đây nhất xuất hiện đầu tiên. Trường đánh giá cuối cùng có thể được sử dụng để sắp xếp kết quả bằng cách sử dụng hàm sort() của Con trỏ. Bạn có thể sắp xếp kết quả theo thứ tự giảm dần (bằng cách cung cấp -1 cho sort()) để trả về danh sách có đánh giá gần đây nhất trước tiên. Truy vấn hiện tại có thể được cập nhật để trông như thế này

await client.connect();
9

Có 192 tài liệu trong thư viện phù hợp với truy vấn trên. Hãy tưởng tượng bạn không muốn tập lệnh xử lý nhiều kết quả đó. Thay vào đó, bạn muốn giới hạn những phát hiện của mình trong một số lượng tài liệu nhỏ hơn. Bạn có thể sử dụng giới hạn để thêm phương thức sort() khác vào truy vấn hiện có. giới hạn (), như tên gọi, đặt giới hạn của con trỏ. Giờ đây, bạn có thể sửa đổi truy vấn để nó chỉ trả về một số kết quả nhất định

await listDatabases(client);
0

Bạn có thể lặp qua con trỏ để nhận từng kết quả một. Thay vào đó, bạn có thể sử dụng hàm toArray() của Con trỏ để truy xuất tất cả các kết quả của chúng tôi trong một mảng. Mã của bạn bây giờ có vẻ như sau

await listDatabases(client);
1

Hãy bọc truy vấn trong một hàm không đồng bộ và thêm chức năng để in kết quả ngay bây giờ khi bạn đã sẵn sàng sử dụng

await listDatabases(client);
2

Chức năng này có thể được gọi bằng cách chuyển một MongoClient được kết nối cũng như một đối tượng có các thuộc tính xác định số phòng ngủ, phòng tắm tối thiểu và tổng số kết quả

await listDatabases(client);
3

Nếu bạn đã làm theo hướng dẫn trong phần trước, kết quả sẽ giống như thế này

await listDatabases(client);
4

Hoạt động tổng hợp MongoDB JavaScript (NodeJS) là gì?

Trong MongoDB, Hoạt động tổng hợp là các biểu thức có thể được sử dụng để thu được kết quả rút gọn và tóm tắt. Quy trình tổng hợp trong API truy vấn của MongoDB cho phép bạn xây dựng một quy trình với một hoặc nhiều giai đoạn, mỗi giai đoạn thực hiện một hành động khác nhau trên dữ liệu của bạn

Đường ống tổng hợp có thể được so sánh với một dây chuyền lắp ráp ô tô. Sản xuất ô tô bắt buộc phải sử dụng các trạm lắp ráp được bố trí theo dây chuyền. Máy khoan và máy hàn là một trong những dụng cụ chuyên dụng có sẵn tại mỗi trạm. Nhà máy lắp ráp và biến nguyên vật liệu thô và các bộ phận thành hàng hóa hoàn chỉnh

Dây chuyền lắp ráp là đường ống tổng hợp, các trạm lắp ráp là các giai đoạn tổng hợp và các công cụ chuyên dụng là các biểu thức vận hành

Các loại chỉ mục trình điều khiển MongoDB JavaScript (NodeJS) khác nhau là gì?

1) Chỉ mục duy nhất

Các chỉ mục duy nhất ngăn các giá trị trùng lặp được lưu trữ trong các trường được lập chỉ mục. Trong quá trình hình thành một bộ sưu tập, MongoDB tạo một chỉ mục duy nhất trên cột _id theo mặc định. Đặt tùy chọn duy nhất thành đúng và cho biết trường hoặc tổ hợp các trường mà bạn muốn tránh trùng lặp để tạo chỉ mục duy nhất

Phương thức createIndex() được sử dụng trong ví dụ sau để tạo một chỉ mục duy nhất trên cột TheaterId trong bộ sưu tập các rạp của cơ sở dữ liệu sample_mflix

await listDatabases(client);
5

Nếu bạn cố viết một giá trị trùng lặp vi phạm chỉ mục duy nhất, MongoDB sẽ đưa ra một lỗi giống như thế này

await listDatabases(client);
6

2) Chỉ mục không gian địa lý

MongoDB sử dụng các chỉ mục 2dsphere để hỗ trợ các truy vấn trên dữ liệu tọa độ không gian địa lý. Bạn có thể truy vấn dữ liệu Không gian địa lý để bao gồm, giao lộ và vùng lân cận bằng cách sử dụng chỉ mục 2dsphere

Bạn phải chỉ định một trường chỉ chứa các đối tượng GeoJSON để tạo chỉ mục 2dsphere. Địa điểm. trường địa lý trong tài liệu mẫu sau đây từ bộ sưu tập rạp hát của cơ sở dữ liệu sample_mflix là đối tượng Điểm GeoJSON mô tả tọa độ của rạp hát

await listDatabases(client);
7

Để cho phép tìm kiếm địa lý, ví dụ sau sử dụng phương thức createIndexes() để tạo chỉ mục 2dsphere trên vị trí. trường địa lý trong bộ sưu tập rạp chiếu phim trong cơ sở dữ liệu sample_mflix

await listDatabases(client);
8

Để tính toán khoảng cách trên mặt phẳng Euclide và làm việc với thuật ngữ "cặp tọa độ kế thừa" được sử dụng trong MongoDB 2. 2 trở về trước, MongoDB hỗ trợ thêm các chỉ mục 2d.  

3) Chỉ mục văn bản

Truy vấn tìm kiếm văn bản trên nội dung chuỗi được hỗ trợ bởi Chỉ mục văn bản. Bất kỳ trường nào có giá trị là một chuỗi hoặc một mảng các phần tử chuỗi đều có thể được đưa vào các chỉ mục này. MongoDB có khả năng tìm kiếm văn bản cho nhiều ngôn ngữ. Khi xây dựng chỉ mục, bạn có tùy chọn chỉ định ngôn ngữ mặc định. Để biết thêm chi tiết, hãy xem hướng dẫn của chúng tôi về truy vấn tìm kiếm văn bản

Ví dụ sau tạo một chỉ mục văn bản trên trường fullplot trong bộ sưu tập phim trong cơ sở dữ liệu sample_mflix bằng cách sử dụng hàm createIndex() với ngôn ngữ mặc định là tiếng Anh

await listDatabases(client);
9

Truy vấn bên dưới là một ví dụ về truy vấn mà chỉ mục được tạo ở trên sẽ bao gồm. Bởi vì các chỉ mục văn bản không cung cấp thứ tự sắp xếp, sắp xếp được bỏ qua

try {
    await client.connect();

    await listDatabases(client);
 
} catch (e) {
    console.error(e);
}
0

4) Chỉ mục đa phím

Multikey Indexes là các chỉ mục cải thiện hiệu quả truy vấn khi các chỉ mục tăng dần hoặc giảm dần được sử dụng trên các trường có giá trị mảng. Một chỉ mục đa khóa có thể được tạo bằng cú pháp giống như một trường đơn hoặc chỉ mục phức hợp

Phương thức createIndex() được sử dụng trong ví dụ sau để tạo chỉ mục tăng dần trên trường cast (mảng tên) trong bộ sưu tập phim của cơ sở dữ liệu sample_mflix

try {
    await client.connect();

    await listDatabases(client);
 
} catch (e) {
    console.error(e);
}
1

Truy vấn bên dưới là một ví dụ về truy vấn mà chỉ mục được tạo ở trên sẽ bao gồm

try {
    await client.connect();

    await listDatabases(client);
 
} catch (e) {
    console.error(e);
}
2

5) Chỉ mục trường đơn

Chỉ mục trường đơn tăng hiệu suất truy vấn bằng cách chỉ định thứ tự sắp xếp tăng dần hoặc giảm dần trên một trường duy nhất của tài liệu

Phương thức createIndex() được sử dụng trong ví dụ sau để tạo chỉ mục thứ tự tăng dần trên trường tiêu đề trong bộ sưu tập phim của cơ sở dữ liệu sample_mflix

try {
    await client.connect();

    await listDatabases(client);
 
} catch (e) {
    console.error(e);
}
3

Truy vấn bên dưới là một ví dụ về truy vấn mà chỉ mục được tạo ở trên sẽ bao gồm

try {
    await client.connect();

    await listDatabases(client);
 
} catch (e) {
    console.error(e);
}
4

6) Chỉ số hợp chất

Chỉ mục tổng hợp là các chỉ mục cải thiện hiệu suất truy vấn khi các trường khác nhau của tài liệu được sắp xếp theo thứ tự tăng dần hoặc giảm dần. Mỗi trường trong chỉ mục phải có hướng riêng (tăng dần hoặc giảm dần)

Phương thức createIndex() được sử dụng trong ví dụ sau để tạo chỉ mục tổng hợp trên các trường loại và thể loại trong bộ sưu tập phim của cơ sở dữ liệu sample_mflix

try {
    await client.connect();

    await listDatabases(client);
 
} catch (e) {
    console.error(e);
}
5

Truy vấn bên dưới là một ví dụ về truy vấn mà chỉ mục được tạo ở trên sẽ bao gồm

try {
    await client.connect();

    await listDatabases(client);
 
} catch (e) {
    console.error(e);
}
6

Phần kết luận

Bạn đã tìm hiểu về các bước cốt lõi cần thực hiện trong MongoDB Javascript (NodeJS) Connector trong bài viết này. Sau đó, bạn đã xem cách sử dụng các Hoạt động và chỉ mục CRUD MongoDB Javascript (NodeJS). Đặt Trình kết nối Javascript MongoDB theo cách thủ công có thể là một thách thức đặc biệt đối với người mới bắt đầu & đây là lúc Hevo tiết kiệm thời gian

Ghé thăm trang web của chúng tôi để khám phá Hevo

Hevo Data, Đường ống dữ liệu không mã cung cấp cho bạn giải pháp nhất quán và đáng tin cậy để quản lý truyền dữ liệu giữa nhiều nguồn khác nhau như MongoDB và nhiều Điểm đến mong muốn khác nhau, với một vài cú nhấp chuột. Hevo Data với khả năng tích hợp mạnh mẽ với hơn 100 nguồn (bao gồm hơn 40 nguồn miễn phí) cho phép bạn không chỉ xuất dữ liệu từ các nguồn dữ liệu mong muốn và tải dữ liệu đó đến đích bạn chọn mà còn chuyển đổi và làm phong phú dữ liệu của bạn để phân tích.

Bạn muốn thử Hevo? . Bạn cũng có thể xem giá cạnh tranh nhất sẽ giúp bạn chọn gói phù hợp cho nhu cầu kinh doanh của mình

Chia sẻ kinh nghiệm tìm hiểu về MongoDB Javascript (NodeJS). Cho chúng tôi biết trong phần ý kiến ​​dưới đây

MongoDB có sử dụng JavaScript không?

Mặc dù các phương thức này sử dụng JavaScript, nhưng hầu hết các tương tác với MongoDB không sử dụng JavaScript mà sử dụng trình điều khiển thành ngữ bằng ngôn ngữ của ứng dụng tương tác. Nếu bạn không cần thực hiện thực thi mã JavaScript phía máy chủ, hãy xem Tắt thực thi JavaScript phía máy chủ.

Làm cách nào để kết nối MongoDB với JavaScript?

js cho MongoDB, chúng ta phải sử dụng thư viện có tên là Mongoose . cầy mangut. kết nối ("mongodb. //máy chủ cục bộ. 27017/collectionName", { useNewUrlParser. đúng, sử dụngUnifiedTopology. ĐÚNG VẬY }); .

MongoDB có tốt cho nút JS không?

Có thể xử lý nhiều loại dữ liệu và lượng dữ liệu khổng lồ . Nó cung cấp một Nút MongoDB. js cung cấp API JavaScript và triển khai giao thức mạng cần thiết để đọc và ghi từ cơ sở dữ liệu MongoDB cục bộ hoặc từ xa. Tất cả những gì bạn phải làm là cài đặt gói NPM -mongodb trong Mã ứng dụng của mình.