Làm cách nào để nhập tệp SQL trong MongoDB?
Nếu bạn làm việc với dữ liệu lớn, bạn sẽ biết rằng việc khớp dữ liệu đa dạng vào một mô hình quan hệ cứng nhắc là một điều khó khăn. Cơ sở dữ liệu SQL hoặc Cơ sở dữ liệu quan hệ (RDBMS) lưu trữ thông tin theo hàng và cột với lược đồ được xác định trước không hoàn toàn phù hợp để lưu trữ khối lượng dữ liệu lớn. Show
Các cơ sở dữ liệu không quan hệ hoặc NoSQL như MongoDB chứa các lược đồ động, vì vậy các nhà phát triển có thể thay đổi chúng “một cách nhanh chóng. ” MongoDB đã nổi lên như một tùy chọn ưu việt cho cơ sở dữ liệu SQL với trọng tâm cấp tính là mở rộng quy mô tốt hơn và truy vấn nhanh. Do kiến trúc lược đồ động như vậy, MongoDB cho phép thay đổi ứng dụng thường xuyên và giúp lập trình đơn giản hơn cho các nhà phát triển Đối với các nhà phát triển, MongoDB là một điểm cộng vì nó cung cấp hỗ trợ chính thức cho tất cả các ngôn ngữ phổ biến— C, C++, C# và. Mạng, Đi, Java, Nút. js, Perl, PHP, Python, Động cơ, Ruby, Scala, Swift, Mongoid. Điều này cho phép các nhà phát triển làm việc với các ngôn ngữ yêu thích của họ, do đó dẫn đến thời gian phát triển nhanh hơn và ít lỗi hơn Để tìm hiểu thêm về MongoDB và sự tương phản của nó với Cơ sở dữ liệu SQL, hãy truy cập hướng dẫn hữu ích của chúng tôi tại đây- Cơ sở dữ liệu MongoDB so với SQL. 4 khía cạnh toàn diện. Để biết thêm thông tin về các trường hợp sử dụng thiết yếu của MongoDB, hãy truy cập hướng dẫn khác của chúng tôi về 7 trường hợp sử dụng MongoDB trong thế giới thực tốt nhất Các tính năng chính của MongoDB
Đơn giản hóa MongoDB ETL với Đường ống dữ liệu không mã của HevoNền tảng Đường ống dữ liệu không có mã được quản lý hoàn toàn như Hevo Data giúp bạn tích hợp và tải dữ liệu từ hơn 100 nguồn khác nhau (bao gồm hơn 40 nguồn miễn phí) chẳng hạn như MongoDB vào Kho dữ liệu hoặc Đích bạn chọn trong thời gian thực một cách dễ dàng Hevo, với đường cong học tập tối thiểu, có thể được thiết lập chỉ trong vài phút cho phép người dùng tải dữ liệu mà không ảnh hưởng đến hiệu suất. Sự tích hợp mạnh mẽ của nó với vô số nguồn cho phép người dùng đưa vào các loại dữ liệu khác nhau một cách trơn tru mà không cần phải viết mã một dòng nào. Bắt đầu với Hevo miễn phíKiểm tra lý do tại sao Hevo là tốt nhất
Mongoimport là gì và nó được sử dụng ở đâu?Lệnh mongoimport được sử dụng để nhập nội dung của bạn từ bản xuất JSON, CSV hoặc TSV mở rộng được tạo bởi mongoexport. Nó cũng hỗ trợ khôi phục hoặc nhập dữ liệu từ các công cụ xuất của bên thứ ba khác Lệnh này giúp ích rất nhiều khi quản lý cơ sở dữ liệu MongoDB của bạn. Nó siêu nhanh và đa luồng, hơn bất kỳ tập lệnh tùy chỉnh nào bạn có thể viết để thực hiện thao tác nhập của mình. Lệnh mongoimport có thể được kết hợp với các công cụ dòng lệnh khác của MongoDB, chẳng hạn như jq để thao tác với JSON, csvkit để thao tác với CSV hoặc thậm chí là curl để tự động tải xuống các tệp dữ liệu từ máy chủ trên internet. cú phápLệnh mongoimport có cú pháp như sau
Ở định dạng mở rộng, nó trông như thế này
Trong các phần sắp tới, chúng tôi sẽ trình bày chi tiết hơn về các biến thể mà bạn có thể thực hiện với cú pháp để nhập các loại tệp khác nhau như JSON, CSV hoặc TSV. Các ứng dụngBất kể loại ứng dụng web mà nhóm của bạn xây dựng là gì, sẽ có vô số trường hợp bạn muốn tham khảo một số dữ liệu hoặc nhập một bộ sưu tập nhất định đã tồn tại trong cơ sở dữ liệu của mình. Tất cả các hoạt động này liên quan đến việc sử dụng lệnh mongoimport MongoDB để truy xuất thông tin từ một loạt các tệp JSON hoặc CSV. Khi khách hàng của bạn chạy các ứng dụng web của bạn, MongoDB có thể được kết hợp với các ứng dụng web của bạn để chạy dưới dạng nguồn thông tin phụ trợ và mongoimport có thể hữu ích trong những trường hợp như vậy. Khi so sánh với các định dạng tệp CSV hoặc TSV, JSON được ưa thích hơn vì nó vừa là định dạng dữ liệu phân cấp, tương tự như tài liệu MongoDB, vừa rõ ràng về loại dữ liệu mà nó mã hóa. Với thông tin đó, chúng tôi không khuyên bạn nên chuyển đổi dữ liệu của mình thành biểu mẫu JSON mỗi lần trước khi nhập dữ liệu bằng mongoimport; Cân nhắc lệnh mongoimport MongoDBNhư một lưu ý phòng ngừa, tránh sử dụng mongoimport và mongoexport để sao lưu toàn bộ phiên bản sản xuất. Điều này là do các lệnh mongoimport và mongoexport không thể giữ lại tất cả các loại dữ liệu BSON phong phú một cách nhất quán và JSON chỉ đại diện cho một tập hợp con của các loại do BSON cung cấp. Đối với loại chức năng sao lưu này, chúng tôi khuyên bạn nên sử dụng mongodump và mongorestore Để làm rõ cách lệnh mongoexport và mongoimport sử dụng biểu diễn chế độ nghiêm ngặt để lưu giữ thông tin, đây là ví dụ về thao tác chèn trong trình bao mongo sử dụng biểu diễn chế độ trình bao cho các loại BSON “data_date” và “data_numberlong”
Đối số được truyền cho data_numberlong phải được trích dẫn để tránh khả năng mất độ chính xác. Bây giờ, khi chúng ta sử dụng mongoexport để xuất dữ liệu
Dữ liệu đã xuất bật ra trong một biểu diễn chế độ nghiêm ngặt để bảo toàn thông tin loại
Cách nhập dữ liệu vào MongoDB bằng mongoimportNhư đã đề cập trước đây, lệnh mongoimport được sử dụng để nhập các tệp JSON, CSV hoặc TSV. Để có cấu trúc nội dung rõ ràng và điều hướng dễ dàng, chúng tôi đã liệt kê các bước nhập dữ liệu từ tệp JSON, CSV hoặc TSV thành ba phần khác nhau. Trước khi tiếp tục với các phần này, trước tiên bạn phải đảm bảo kết nối tiện ích mongoimport Windows, macOS hoặc Ubuntu với phiên bản MongoDB của bạn. Mặc dù có một số cách để kết nối mongoimport với cơ sở dữ liệu MongoDB của bạn, chúng tôi khuyên bạn nên sử dụng tùy chọn –uri, như thế này
Ghi chú. Nếu bạn đang sử dụng MongoDB Atlas Deployment, bạn có thể tìm thấy chuỗi kết nối Atlas của mình khi truy cập Database Deployment > Connect. Nếu không sử dụng Atlas Deployment, bạn sẽ phải tạo URI của riêng mình. Nếu bạn đang kết nối với một máy chủ, URI của bạn sẽ trông như thế này- mongodb. //của bạn. người phục vụ. chủ nhà. Tên. port/, và nếu bạn đang chạy một bộ sao chép và kết nối với nhiều tên máy chủ thì URI của bạn sẽ trông như thế này- mongodb. //tên tài khoản. mật khẩu @ máy chủ1. cổng, máy chủ2. port/?replicaSet=tên bộ bản sao Để biết thêm thông tin, hãy xem trang tài liệu tại đây. Phần 1. Nhập tệp JSONĐể nhập (các) tệp JSON từ một bộ sưu tập, hãy sử dụng mã bên dưới
Ở đâu,
Nói một cách ngắn gọn, bạn cũng có thể viết đoạn mã trên dưới dạng
Trong trường hợp, bạn muốn loại bỏ bất kỳ bộ sưu tập hiện có nào có cùng tên với bộ sưu tập bạn đang cố tạo/nhập, bạn có thể thông báo điều tương tự cho lệnh mongoimport bằng cách sử dụng cờ –drop ________số 8Nếu bạn muốn thay đổi số máy chủ hoặc số cổng trong khi nhập dữ liệu JSON, bạn có thể làm như vậy bằng cách sử dụng lệnh mongoimport MongoDB sau đây.
Theo mặc định, mongoimport kết nối với một mongo đang chạy trên cổng 27017 trên localhost. Phần 2. Nhập tệp CSVBạn có thể sử dụng lệnh mongoimport để nhập tệp CSV vào bộ sưu tập bằng tùy chọn tiêu đề. Tùy chọn dòng tiêu đề thông báo cho lệnh mongoimport của dòng đầu tiên; Để nhập bộ sưu tập từ tệp CSV, hãy sử dụng mã như được đề cập bên dưới 0Ở đâu,
Nhập tệp CSV thiếu tiêu đềTrong trường hợp tệp CSV của bạn không có hàng tiêu đề, thì bạn phải thông báo cho lệnh mongoimport về tên của từng cột có trong tệp của bạn. Có hai cách để làm như vậy
Chỉ định loại trường Một cách là viết tên trường trên dòng lệnh bằng tùy chọn –fields. Điều này có thể gây cồng kềnh nếu tệp CSV của bạn chứa nhiều cột, như có thể thấy từ lệnh bên dưới 1Sử dụng tệp trường Phương pháp khác là thông báo lệnh mongoimport trên các cột trường bằng cách sử dụng một. tập tin txt. Ở đây chúng tôi đã tạo một tệp có tên là “Field_file. txt” chứa tất cả các tên cột có trong tệp CSV của chúng tôi 2Sau khi tạo một tệp như vậy, bạn có thể chạy lệnh sau sẽ sử dụng. txt (trong ví dụ của chúng tôi “Field_file. txt”) để trích xuất thông tin trên các tên cột này dưới dạng tên trường trong MongoDB 3Phần 3. Nhập tệp TSVCác tệp TSV giống nhau về mặt khái niệm khi so sánh với các định dạng tệp CSV. Do đó, cho dù bạn sử dụng tiện ích Windows mongoimport hay tiện ích khác, bạn có thể nhập tệp TSV bằng kỹ thuật tương tự như được mô tả cho tệp CSV. Chỉ có một thay đổi nhỏ cần ghi nhớ- thay vì sử dụng –type=csv, bạn có thể thay đổi nó và sử dụng tùy chọn –type=tsv để thông báo cho mongoimport về định dạng mới tùy chọn lệnh mongoimportLệnh mongoimport có thể được thêm vào với các tùy chọn giúp nhà phát triển khám phá và đạt được nhiều hơn. Mặc dù có thể tìm thấy danh sách đầy đủ các tùy chọn được hỗ trợ trên , nhưng trong blog này, chúng tôi chỉ giới thiệu những tùy chọn quan trọng OptionDescription–helpReturns information on the options and use of mongoimport.–host=Và điều này đưa chúng ta đến phần cuối của tiện ích lệnh mongoimport Windows, macOS, Ubuntu. Hãy xem qua một vài blog thú vị hơn để khơi gợi sự quan tâm của bạn
Phần kết luậnChúng tôi hy vọng phần blog này thu hút sự quan tâm của bạn và cung cấp cho bạn thông tin chuyên sâu về một trong những công cụ Thành phần gói MongoDB mạnh mẽ được cung cấp nguyên bản- lệnh mongoimport. Sử dụng hướng dẫn này, chúng tôi biết chắc chắn rằng bạn sẽ có thể sử dụng thành công lệnh mongoimport để sử dụng các ứng dụng web và trường hợp sử dụng của riêng bạn một cách dễ dàng Nếu doanh nghiệp của bạn tích cực sử dụng MongoDB để phát triển và lưu trữ các ứng dụng web của mình, thì có khả năng cao là bạn sẽ muốn có một bản sao lưu an toàn cho cơ sở dữ liệu MongoDB của mình. Mặc dù việc xuất cơ sở dữ liệu MongoDB của bạn theo cách thủ công có thể trở nên khó sử dụng và không mấy thú vị, nhưng một phương pháp tốt hơn và nhanh hơn là sử dụng Kho dữ liệu dựa trên đám mây cho nhu cầu lưu trữ và chuyển đổi dữ liệu của bạn. Một giải pháp đơn giản và nhanh chóng như Hevo Data sẽ giúp bạn trong việc đó. Điều gì làm cho Hevo trở thành lựa chọn tốt nhất? Hevo là trình xây dựng Đường ống ETL Không Mã. Nó cho phép bạn di chuyển dữ liệu của mình từ cơ sở dữ liệu MongoDB (và hơn 100 Nguồn dữ liệu) sang bất kỳ Kho dữ liệu nào bạn chọn như Amazon Redshift, Snowflake, Google BigQuery hoặc Firebolt trong vòng vài phút chỉ bằng vài cú nhấp chuột. Bất kỳ cá nhân hoặc nhóm nào, ngay cả từ nhóm không có dữ liệu đều có thể thiết lập Đường ống dữ liệu từ Cơ sở dữ liệu hoặc Ứng dụng SaaS của họ vào Kho dữ liệu của họ trong nháy mắt và bắt đầu tải dữ liệu của họ. Ghé thăm trang web của chúng tôi để khám phá HevoTại sao không thử Hevo? . Bạn cũng có thể kiểm tra giá của chúng tôi và đưa ra quyết định về kế hoạch phù hợp nhất của bạn. Chia sẻ ý kiến của bạn về việc tìm hiểu quy trình sử dụng mongoimport cho MongoDB trong phần bình luận bên dưới. Chúng tôi muốn nghe suy nghĩ và ý tưởng của bạn Làm cách nào để nhập dữ liệu từ MySQL sang MongoDB?Việc di chuyển từ MySQL sang MongoDB được thực hiện theo bốn bước. . Xem lại lược đồ dữ liệu của bạn Xuất dữ liệu từ MySQL Chuyển đổi dữ liệu Nhập dữ liệu vào MongoDB Làm cách nào để kết nối SQL Server với MongoDB?Có một số quy trình cần tuân theo để tạo nguồn dữ liệu MongoDB ODBC và sau đó kết nối MongoDB với SQL Server. . Cài đặt Microsoft Visual C++ 2015 Có thể phân phối lại Cài đặt MongoDB BI Connector Cài đặt trình điều khiển MongoDB ODBC Tạo tệp lược đồ drdl Bắt đầu dịch vụ trình kết nối MongoDB BI Xác định nguồn dữ liệu ODBC Tôi có thể sử dụng SQL trong MongoDB không?Trong MongoDB, để thao tác dữ liệu hoặc thực hiện các thao tác khác, bạn viết các tập lệnh cho trình bao mongo trong JavaScript. Đối với những nhà phát triển truy vấn dữ liệu chủ yếu bằng SQL, cũng có thể hữu ích khi sử dụng SQL cho các bộ sưu tập MongoDB . DataGrip sẽ dịch các truy vấn SQL của bạn sang JavaScript.
Làm cách nào để nhập cơ sở dữ liệu trong MongoDB bằng dòng lệnh?Bước 1. Mở dấu nhắc lệnh và đưa ra lệnh mongod để kết nối với máy chủ MongoDB và không đóng cmd này để duy trì kết nối với máy chủ. Bước 2. Mở một dấu nhắc lệnh khác và chạy vỏ mongo. Sử dụng lệnh mongo |