Hướng dẫn how do i import a database into mongodb atlas? - làm cách nào để nhập cơ sở dữ liệu vào tập bản đồ mongodb?
Tài liệu về nhà → MongoDB Atlas → MongoDB Atlas Show Bạn có thể mang dữ liệu từ các tệp triển khai MongoDB hiện tại,
Bảng sau đây thảo luận về cách chọn giữa các công cụ khác nhau để di chuyển và nhập dữ liệu cho các cấu hình cụm phổ biến.
Tài liệu về nhà → MongoDB Atlas cho chính phủ → MongoDB Atlas for Government Dịch vụ di chuyển trực tiếp Atlas có thể di chuyển dữ liệu của bạn từ môi trường hiện tại của bạn sang MongoDB Atlas cho chính phủ với tác động tối thiểu đến ứng dụng của bạn. Các thủ tục dịch vụ di chuyển trực tiếp cho ATLAS cũng được áp dụng cho Atlasgov. Để biết tổng quan về dịch vụ và hướng dẫn cho các cuộc di cư chung, xem Atlas Live Di cư.Atlas Live Migration. MẹoTài liệu AtlasĐể biết thông tin chi tiết về nhập dữ liệu, hãy xem di chuyển hoặc nhập dữ liệu vào cụm của bạn.Migrate or Import Data into Your Cluster. ← & NBSP; Sao lưu và khôi phục cụm Dataatlas tìm kiếm & NBSP; →Backup and Restore Cluster DataAtlas Search → Tài liệu về nhà → Bắt đầu với hướng dẫn → Start with Guides Trong hướng dẫn này, bạn sẽ tải dữ liệu mẫu của chúng tôi vào cụm của mình. Thời gian cần thiết: 5 phút
Ghi chúNếu Atlas nhắc bạn chọn dữ liệu nào để tải, hãy chọn Khi tải hoàn thành, tab Bộ sưu tập sẽ làm mới để hiển thị dữ liệu mẫu của bạn.Collections tab refreshes to show your sample data. Bạn thấy các cơ sở dữ liệu sau trong cụm của bạn:
Nếu bạn đã hoàn thành thành công quy trình trong hướng dẫn này, bạn đã tải dữ liệu mẫu của chúng tôi. Trong hướng dẫn tiếp theo, bạn sẽ truy xuất chuỗi kết nối triển khai cơ sở dữ liệu của mình. Bất kể bạn đang xây dựng gì với MongoDB, đến một lúc nào đó bạn sẽ muốn nhập một số dữ liệu. Cho dù đó là phần lớn dữ liệu của bạn hoặc chỉ một số dữ liệu tham chiếu mà bạn muốn tích hợp với bộ dữ liệu chính của mình, bạn sẽ thấy mình với một loạt các tệp JSON hoặc CSV mà bạn cần nhập vào một bộ sưu tập. May mắn thay, MongoDB cung cấp một công cụ gọi là Mongoimport được thiết kế cho nhiệm vụ này. Hướng dẫn này sẽ giải thích cách sử dụng Mongoimport hiệu quả để đưa dữ liệu của bạn vào cơ sở dữ liệu MongoDB của bạn.mongoimport which is designed for this task. This guide will explain how to effectively use mongoimport to get your data into your MongoDB database. Chúng tôi cũng cung cấp tài liệu tham khảo Mongoimport, nếu bạn đang tìm kiếm một cái gì đó toàn diện hoặc bạn chỉ cần tìm kiếm một tùy chọn dòng lệnh.MongoImport Reference documentation, if you're looking for something comprehensive or you just need to look up a command-line option. Điều kiện tiên quyếtHướng dẫn này giả định rằng bạn có thể thoải mái một cách hợp lý với dòng lệnh. Hầu hết các hướng dẫn sẽ chỉ chạy các lệnh, nhưng đến cuối cùng, tôi sẽ chỉ ra cách thực hiện dữ liệu thông qua một số công cụ dòng lệnh, chẳng hạn như Nếu bạn không có nhiều kinh nghiệm trên dòng lệnh (đôi khi cũng được gọi là thiết bị đầu cuối, hoặc shell hoặc bash), tại sao không làm theo cùng với một số ví dụ? Đó là một cách tuyệt vời để bắt đầu. Các ví dụ được hiển thị đều được viết trên macOS, nhưng nên chạy trên bất kỳ hệ thống loại UNIX nào. Nếu bạn đang chạy trên Windows, tôi khuyên bạn nên chạy các lệnh ví dụ bên trong hệ thống con Windows cho Linux.Windows Subsystem for Linux. Bạn sẽ cần một cơ sở dữ liệu MongoDB tạm thời để kiểm tra các lệnh này. Nếu bạn mới bắt đầu, tôi khuyên bạn nên đăng ký tài khoản Atlas MongoDB miễn phí và sau đó chúng tôi sẽ chăm sóc cụm cho bạn!MongoDB Atlas account, and then we'll take care of the cluster for you! Và tất nhiên, bạn sẽ cần một bản sao của Bắt đầu với
Chọn định dạng dữ liệu nguồnTheo nhiều cách, việc có dữ liệu nguồn của bạn trong các tệp JSON tốt hơn CSV (và TSV). JSON vừa là định dạng dữ liệu phân cấp, như tài liệu MongoDB và cũng rõ ràng về các loại dữ liệu mà nó mã hóa. Mặt khác, dữ liệu JSON nguồn có thể khó xử lý - trong nhiều trường hợp, nó không nằm trong cấu trúc bạn muốn hoặc nó có dữ liệu số được mã hóa dưới dạng chuỗi hoặc có lẽ các định dạng ngày không ở dạng Dữ liệu CSV (và TSV) là bảng và mỗi hàng sẽ được nhập vào MongoDB dưới dạng tài liệu riêng biệt. Điều này có nghĩa là các định dạng này không thể hỗ trợ dữ liệu phân cấp theo cách tương tự như tài liệu MongoDB có thể. Khi nhập dữ liệu CSV vào MongoDB, Trong nhiều trường hợp, việc lựa chọn định dạng dữ liệu nguồn sẽ không tùy thuộc vào bạn - sẽ tùy thuộc vào tổ chức tạo dữ liệu và cung cấp cho bạn. Tôi khuyên bạn nên nếu dữ liệu nguồn ở dạng CSV thì bạn không nên cố gắng chuyển đổi nó thành JSON trước khi bạn có kế hoạch tái cấu trúc nó. Liên kết
đến cơ sở dữ liệu của bạnPhần này giả định rằng bạn đang kết nối với một thiết lập tương đối đơn giản - với cơ sở dữ liệu xác thực mặc định và một số xác thực được thiết lập. (Bạn nên luôn luôn tạo một số người dùng để xác thực!)alwayscreate some users for authentication!) Nếu bạn không cung cấp bất kỳ chi tiết kết nối nào cho Mongoimport, nó sẽ cố gắng kết nối với MongoDB trên máy cục bộ của bạn, trên cổng 27017 (là mặc định của MongoDB). Điều này giống như cung cấp Một uri để cai trị tất cảCó một số tùy chọn cho phép bạn cung cấp thông tin kết nối riêng cho Mongoimport, nhưng tôi khuyên bạn nên sử dụng tùy chọn Xin lưu ý rằng trong mẫu này, tên người dùng và mật khẩu phải được mã hóa URL. Nếu bạn không muốn lo lắng về điều này, thì hãy cung cấp tên người dùng và mật khẩu bằng các tùy chọn Nếu bạn bỏ qua mật khẩu từ URI và không cung cấp tùy chọn Nếu bạn không kết nối với cơ sở dữ liệu ATLAS, thì 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ủ duy nhất (tức là bạn không có bản sao), thì URI của bạn sẽ trông như thế này: Khi bạn đã xác định URI, thì niềm vui bắt đầu. Trong phần còn lại của hướng dẫn này, tôi sẽ bỏ những lá cờ đó ra. Bạn sẽ cần thêm chúng vào khi thử các tùy chọn khác nhau. Nhập một tài liệu JSONCách đơn giản nhất để nhập một tệp duy nhất vào MongoDB là sử dụng tùy chọn Bạn sẽ tìm thấy dữ liệu ở định dạng này trong thư mục 'File_per_document' trong repo data data data. Mỗi tài liệu sẽ trông như thế này:sample data GitHub repo. Each document will look like this: Lệnh trên sẽ nhập tất cả các tệp JSON vào bộ sưu tập Nếu bạn sử dụng Compass MongoDB hoặc một công cụ khác để kết nối với bộ sưu tập bạn vừa tạo, bạn sẽ thấy MongoDB cũng tạo ra giá trị Nhập nhiều tài liệu JSONMongoimport sẽ chỉ nhập một tệp tại một thời điểm với tùy chọn Như trước đây, MongoDB tạo ra một Nhập một mảng json lớnĐôi khi bạn sẽ có nhiều tài liệu có trong mảng JSON trong một tài liệu, giống như sau: Bạn có thể nhập dữ liệu ở định dạng này bằng tùy chọn Nếu bạn quên thêm tùy chọn --JsonArray, Nhập các loại cụ thể của MongoDB với JSONNếu bạn nhập một số dữ liệu JSON từ repo dữ liệu mẫu và sau đó xem lược đồ của bộ sưu tập trong la bàn, bạn có thể nhận thấy một vài vấn đề:sample data github repo and then view the collection's schema in Compass, you may notice a couple of problems:
Điều này xuất phát từ một sự khác biệt cơ bản giữa các tài liệu MongoDB và tài liệu JSON. Mặc dù các tài liệu MongoDB thường trông giống như dữ liệu JSON, nhưng chúng không phải vậy. MongoDB lưu trữ dữ liệu dưới dạng BSON. BSON có nhiều lợi thế so với JSON. Nó nhỏ gọn hơn, nó nhanh hơn để vượt qua và nó hỗ trợ nhiều loại hơn JSON. Trong số các loại đó là ngày, loại Geojson, dữ liệu nhị phân và số thập phân. Tất cả các loại được liệt kê trong tài liệu MongoDBlook like JSON data, they're not. MongoDB stores data as BSON. BSON has multiple advantages over JSON. It's more compact, it's faster to traverse, and it supports more types than JSON. Among those types are Dates, GeoJSON types, binary data, and decimal numbers. All the types are listed in the MongoDB documentation Nếu bạn muốn MongoDB nhận ra các trường được nhập từ JSON dưới dạng các loại BSON cụ thể, các trường đó phải được thao tác để chúng tuân theo một cấu trúc mà chúng tôi gọi là JSON mở rộng. Điều này có nghĩa là trường sau:Extended JSON. This means that the following field: Phải được cung cấp cho MongoDB như: để nó được công nhận là loại ngày. Lưu ý rằng định dạng của chuỗi ngày đã thay đổi một chút, với 'T' phân tách ngày và thời gian và z ở cuối, biểu thị thời gian UTC.Date type. Note that the format of the date string has changed slightly, with the 'T' separating the date and time, and the Z at the end, indicating UTC timezone. Tương tự, vĩ độ và kinh độ phải được chuyển đổi thành loại điểm Geojson nếu bạn muốn tận dụng khả năng tìm kiếm dữ liệu vị trí của MongoDB. Hai giá trị: Lưu ý: cặp giá trị là kinh độ sau đó vĩ độ, vì điều này đôi khi khiến mọi người ra ngoài!: the pair of values are longitude then latitude, as this sometimes catches people out! Khi bạn có dữ liệu không gian địa lý trong bộ sưu tập của mình, bạn có thể sử dụng các truy vấn không gian địa lý của MongoDB để tìm kiếm dữ liệu theo vị trí.geospatial queries to search for data by location. Nếu bạn cần chuyển đổi dữ liệu JSON của mình theo cách này, hãy xem phần trên JQ.JQ. Nhập dữ liệu vào các bộ sưu tập không trốngKhi nhập dữ liệu vào một bộ sưu tập đã chứa tài liệu, giá trị Cập nhật hồ sơ hiện cóNếu bạn được định kỳ cung cấp các tệp dữ liệu mới, bạn có thể sử dụng Nếu bạn đang nâng các bản ghi không có ID ổn định, bạn có thể chỉ định một số trường sẽ sử dụng để khớp với các tài liệu trong bộ sưu tập, với tùy chọn Hợp nhất dữ liệu vào các hồ sơ hiện cóNếu bạn được cung cấp với các tệp dữ liệu mở rộng các tài liệu hiện tại của bạn bằng cách thêm các trường mới hoặc cập nhật một số trường nhất định, bạn có thể sử dụng Bạn cũng có thể sử dụng tùy chọn Nhập CSV (hoặc TSV) vào một bộ sưu tậpNếu bạn có các tệp CSV (hoặc các tệp TSV - chúng giống nhau về mặt khái niệm) để nhập, hãy sử dụng tùy chọn Với dữ liệu CSV, bạn có thể phải thực hiện thêm một số công việc để chú thích dữ liệu để khiến nó nhập chính xác. Các vấn đề chính là:
Vấn đề đầu tiên là một vấn đề có lẽ lớn hơn. Bạn có hai tùy chọn. Một là viết một tập lệnh để tái cấu trúc dữ liệu trước khi sử dụng Cả hai cách tiếp cận này đều nằm ngoài phạm vi của bài đăng trên blog này. Nếu đó là điều bạn muốn thấy nhiều lời giải thích hơn, hãy truy cập các diễn đàn cộng đồng MongoDB.MongoDB Community Forums. Thực tế là các tệp CSV không chỉ định loại dữ liệu trong mỗi trường có thể được giải quyết bằng cách chỉ định các loại trường khi gọi Chỉ định các loại trườngNếu bạn không có hàng tiêu đề, thì bạn phải nói Đó là một hàng dài! Trong trường hợp có rất nhiều cột, bạn nên quản lý các tên trường trong một tệp trường. Sử dụng tệp trườngTệp trường là danh sách các tên cột, với một tên trên mỗi dòng. Vì vậy, tương đương với giá trị Nếu bạn đặt nội dung đó vào một tệp có tên là 'field_file.txt' và sau đó chạy lệnh sau, nó sẽ sử dụng các tên cột này làm tên trường trong MongoDB: Các tài liệu nhập khẩu, được xem trong La bàn MongoDB. Lưu ý rằng các trường ngày đã được nhập dưới dạng chuỗi.Nếu bạn mở la bàn và nhìn vào lược đồ cho 'Field_Option' hoặc 'FieldFile_Option', bạn sẽ thấy rằng Trong trường hợp này, bạn sẽ muốn chỉ định loại của một số hoặc tất cả các cột của bạn. Chỉ định các loại cho các cột CSVĐể nói Tôi đã tạo một tệp có tên Bởi vì Bây giờ, dữ liệu có thể được nhập với cuộc gọi sau đến Và phần còn lạiHy vọng bây giờ bạn có một ý tưởng tốt về cách sử dụng
Một trong những lợi ích chính của các chương trình dòng lệnh là chúng được thiết kế để làm việc với các chương trình dòng lệnh khác để cung cấp nhiều quyền lực hơn. Có một vài chương trình dòng lệnh mà tôi đặc biệt khuyên bạn nên xem: JqJQ là bộ xử lý cho dữ liệu JSON. Nó kết hợp một ngôn ngữ lọc và kịch bản mạnh mẽ để lọc, thao tác và thậm chí tạo dữ liệu JSON. Một hướng dẫn đầy đủ về cách sử dụng JQ nằm ngoài phạm vi cho hướng dẫn này, nhưng để cung cấp cho bạn một bản tóm tắt ngắn gọn: Nếu bạn tạo tập lệnh JQ có tên Bây giờ bạn có thể gửi dữ liệu JSON mẫu thông qua tập lệnh này để sửa đổi các trường Điều này có thể được sử dụng trong một đường ống nhiều giai đoạn, trong đó dữ liệu được đưa vào Công cụ CSVKITTheo cùng một cách mà Kiểm tra các tài liệu CSVKIT để biết thêm thông tin về cách sử dụng bộ sưu tập công cụ này.csvkit docs for more information on how to use this collection of tools. Có những công cụ khác mà bạn biết sẽ hoạt động tốt với Sự kết luậnĐó là một sai lầm phổ biến khi viết mã tùy chỉnh để nhập dữ liệu vào MongoDB. Tôi hy vọng tôi đã chứng minh Làm cách nào để nhập toàn bộ cơ sở dữ liệu vào MongoDB?Để nhập dữ liệu vào cơ sở dữ liệu MongoDB, bạn có thể sử dụng Mongoimport để nhập dữ liệu bộ sưu tập cụ thể hoặc bạn có thể sử dụng MongoRestore để nhập bản sao lưu cơ sở dữ liệu đầy đủ nhị phân (BSON). Tệp cơ sở dữ liệu được xuất phải được lưu trữ cục bộ trên cùng một máy với máy khách của bạn.use mongorestore to import a binary (BSON) full database backup. The exported database file must be stored locally on the same machine as your client.
Làm cách nào để kết nối với một cơ sở dữ liệu cụ thể trong Atlas MongoDB?Nhấp vào Kết nối ... Chọn Kết nối ứng dụng của bạn .. Chọn phiên bản trình điều khiển và trình điều khiển của bạn..... Sao chép chuỗi kết nối được tạo..... Danh sách trắng Địa chỉ IP của bạn..... Nhấp vào Thêm địa chỉ IP hiện tại..... Bạn đang kết nối từ một địa chỉ IP khác, thông qua VPN hoặc nhận lỗi?.... Đặt tên cho kết nối của bạn và nhấp vào nút từ URI .. Atlas có thể làm việc với các cơ sở dữ liệu khác không?Một dịch vụ được quản lý cơ sở dữ liệu toàn cầu dựa trên nguồn gốc nguồn mở được thiết kế để xử lý tất cả sự phức tạp của việc triển khai, quản lý và triển khai chữa bệnh, MongoDB Atlas là một đám mây, tương thích với các nhà cung cấp dịch vụ đám mây bao gồm Amazon Web Services (AWS), Microsoft Azure và Google CloudNền tảng.compatible with cloud service providers including Amazon Web Services (AWS), Microsoft Azure and Google Cloud Platform.
Làm thế nào nhập dữ liệu từ Excel vào MongoDB?Tiện ích Mongoimport chỉ hỗ trợ các tệp JSON, CSV và TSV.Do đó, để lấy dữ liệu của bạn từ Excel vào MongoDB, tùy chọn tốt nhất là lưu nó dưới dạng tệp CSV và sau đó sử dụng Mongoimport để nhập nó.save it as a CSV file, and then use mongoimport to import it. |