Phân tích bản đồ mongodb
Bạn có thể mang dữ liệu từ các tệp khai triển MongoDB hiện tại, Show
Bảng sau đây thảo luận về cách lựa 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ụm biến cấu hình phức tạp
Tài liệu về nhà → MongoDB Atlas cho chính phủ → MongoDB Atlas cho chính phủ 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ụ 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 các cuộc di cư chung, hãy xem Atlas Live Di cư. Di chuyển trực tiếp trên Atlas . mẹoAtlas tài liệuĐể biết thông tin chi tiết về dữ liệu đầu vào, hãy xem di chuyển hoặc nhập dữ liệu vào cụm từ của bạn. Di chuyển hoặc nhập dữ liệu vào cụm của bạn . ← & NBSP; Backup and Restore Cluster DataAtlas Search → Tài liệu về nhà → Bắt đầu với hướng dẫn → Bắt đầu với Hướng dẫn 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 từ của mình Need time. 5 phút
Ghi chúNếu Atlas yêu cầu bạn chọn bất kỳ dữ liệu nào để tải xuống, hãy chọn Khi tải xuống hoàn tất, tab Bộ sưu tập tập tin sẽ làm mới để hiển thị dữ liệu mẫu của bạn. Bộ sưu tập tab làm mới để hiển thị dữ liệu mẫu của bạn. Bạn đã thấy các cơ sở dữ liệu sau cụm từ của bạn data name Mô tả sự kiện
Chứa chi tiết trong danh sách Airbnb. danh sách AirBnB .
Chứa dữ liệu đào tạo cho một ứng dụng dịch vụ tài chính giả
Shipwreck data
Hành động dữ liệu có chứa dữ liệu
Container data film ________số 8 Chứa dữ liệu nhà hàng
Chứa dữ liệu từ một cửa hàng cung cấp văn phòng giả
Chứa bộ dữ liệu dịch vụ đào tạo MongoDB
Chứa báo cáo chi tiết Nếu bạn đã hoàn tất thành công quy trình theo hướng dẫn này, bạn đã tải xuống 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 phát 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 dữ liệu lớn của bạn hoặc chỉ một số dữ liệu tham chiếu mà bạn muốn hợp nhất 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 tệp JSON hoặc CSV mà bạn cần nhập vào một bộ. . May 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 hiệu quả Mongoimport để đưa dữ liệu của bạn vào cơ sở dữ liệu MongoDB của bạn. mongoimport được thiết kế cho tác vụ này. Hướng dẫn này sẽ giải thích cách sử dụng hiệu quả mongoimport để đưa dữ liệu vào cơ sở dữ liệu MongoDB của bạn. 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 dòng lệnh tùy chọn. Tài liệu tham khảo MongoImport, nếu bạn đang tìm kiếm thứ gì đó toàn diện hoặc bạn chỉ cần tra cứu tùy chọn dòng lệnh. Đ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 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 thông tin 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 một số ví dụ? 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ỳ loại hệ thống 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. Hệ thống con Windows dành cho 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 từ cho bạn. MongoDB Atlas và sau đó chúng tôi sẽ chăm sóc cụm cho bạn. Và tất nhiên, bạn sẽ cần một bản sao của Started with
Chọn định dạng nguồn dữ liệuTheo nhiều cách, việc có nguồn dữ liệu của bạn trong tệp JSON tốt hơn CSV (và TSV). JSON vừa là định dạng dữ liệu phân cấp, chẳng hạn 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, nguồn dữ liệu JSON 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ó số liệu được mã hóa dưới dạng chuỗi hoặc có thể định dạng ngày không ở định 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ợ phân cấp dữ liệu 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 nguồn định dạng dữ liệu 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 nguồn dữ liệu ở định 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
to your databasePhầ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 được 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 tạo một số người dùng để xác thực. )luôntạo một số người dùng để xác thực. ) 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 One uri to 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 lắng nghe 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 ATLAS cơ sở dữ liệu, 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ẽ giố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ẽ loại 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 dữ liệu repo dữ liệu dữ liệu. Mỗi tài liệu sẽ trông giống như thế này. repo GitHub dữ liệu mẫu. Mỗi tài liệu sẽ trông như thế này. 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 tạo cũng có 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 số vấn đề. repo github dữ liệu mẫu rồi xem lược đồ của bộ sưu tập trong Compass, bạn có thể nhận thấy một số vấn đề.
Điều này xuất phát từ một sự khác biệt cơ bản giữa 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 như vậy. MongoDB save data dưới định 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 JSON hơn. 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 MongoDBtrông giống như dữ liệu JSON, chúng không phải. MongoDB lưu trữ dữ liệu dưới dạng BSON. BSON có nhiều lợi thế hơn JSON. Nó nhỏ gọn hơn, duyệt nhanh hơn và hỗ trợ nhiều loại hơn so với 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 MongoDB 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 công cụ 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. JSON mở rộng. Điều này có nghĩa là trường sau. must be supply for MongoDB as to it was known as the date. 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. 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 chữ 'T' phân tách ngày và giờ và chữ Z ở cuối, biểu thị múi giờ UTC. 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 vị trí dữ liệu tìm kiếm của MongoDB. Hai value Lưu ý. cặp giá trị là kinh độ sau vĩ độ đó, vì điều này kép khi khiến mọi người ra ngoài. . cặp giá trị là kinh độ rồi vĩ độ, vì điều này đôi khi khiến mọi người không hiểu. 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 truy vấn không gian địa lý của MongoDB để tìm kiếm dữ liệu theo vị trí. truy vấn không gian địa lý để tìm kiếm dữ liệu theo vị trí. 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 bộ sưu tập không trốngKhi nhập dữ liệu vào một bộ sưu tập có 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ấp 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 các tệp dữ liệu mở rộng tài liệu hiện có của bạn bằng cách bổ sung 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. The main problems is
Vấn đề đầu tiên là một vấn đề có thể lớn hơn. You have two option. Một là viết một 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. Diễn đàn cộng đồng MongoDB. Thực tế là các tệp CSV không chỉ định loại dữ liệu trong mỗi trường mà 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ó tiêu đề hàng, thì bạn phải nói That is a long row. 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 Use field fileTệp trường là danh sách các cột tên, 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' and after that run command after, it will use this column name as the field in 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ỗiNế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 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 Phải nói là Tôi đã tạo một tệp có tên by because Hiện tại, dữ liệu có thể được nhập vào cuộc gọi sau khi đến And left partHy vọng bây giờ bạn có một ý tưởng tốt về cách sử dụng sample-supplies 7 Bỏ qua các trường hoặc cột có giá trị trống. sample-supplies 8 Thả bộ sưu tập trước khi nhập tài liệu mới. Điều này đặc biệt hữu ích trong quá trình phát triển, nhưng sẽ làm mất dữ liệu nếu bạn vô tình sử dụng nó. sẽ mất dữ liệu nếu bạn vô tình sử dụng. sample-supplies 9 Một tùy chọn khác hữu ích trong quá trình phát triển, điều này khiến CSV 3 dừng lại ngay khi xảy ra lỗi. CSV 3 dừng ngay lập tức khi có lỗi xảy raMộ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 nhằm 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 nghị bạn nên xem. jqJQ is a handle for JSON data. 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 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 Hiện tại bạn có thể gửi dữ liệu JSON mẫu thông qua lệnh này để sửa đổi các trường Điều này có thể được sử dụng trong một đoạn đườ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 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. tài liệu csvkit để biết thêm thông tin về cách sử dụng bộ công cụ này. Có những công cụ khác mà bạn biết sẽ hoạt động tốt với 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 bộ sưu tập dữ liệu 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 . Tệp cơ sở dữ liệu được xuất phải được lưu vào bộ lưu trữ cục bộ trên cùng một máy với máy khách của bạn. 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 đã 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. Làm cách nào để kết nối với một công cụ cơ sở dữ liệu 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 đ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 click to Add the IP address at 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 công việc phát triển khai, quản lý và phát triển bệnh, MongoDB Atlas là . 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 Cloud Platform |