Đó là bởi vì bạn chưa cung cấp đường dẫn CSV của mình. Một cách truyền thống mà tôi đã sử dụng trong các dự án nút của mình là giữ tệp tuyến đường khác và chuyển tệp csv của bạn ở dạng dữ liệu biểu mẫu rồi truy cập tệp đó dưới dạng yêu cầu. các tập tin Show Đảm bảo bạn tạo trình bao bọc cho chuyển đổi CSV của mình chủ đề này là một chủ đề thực sự thú vị đối với tôi. Việc chấp nhận đầu vào của người dùng và lưu một bản ghi vào cơ sở dữ liệu của bạn là điều khá phổ biến trong nhiều ứng dụng web. Nhưng còn khi người dùng của bạn (hoặc bạn) muốn thực hiện nhiều thao tác chèn trong một lệnh thì sao? Trong bài viết này, chúng tôi sẽ trình bày cách tạo mẫu CSV và biểu mẫu để tải tệp CSV lên cũng như cách phân tích cú pháp CSV thành Mô hình Mongoose sẽ được lưu vào cơ sở dữ liệu MongoDB Bài viết này giả định rằng bạn đã có hiểu biết cơ bản về Mongoose và cách nó tương tác với MongoDB. Nếu không, tôi khuyên bạn nên đọc Giới thiệu về Mongoose cho MongoDB và Node. bài viết js đầu tiên. Bài viết này mô tả cách Mongoose tương tác với MongoDB bằng cách tạo các Lược đồ được gõ mạnh mà Mô hình được tạo từ đó. Nếu bạn đã hiểu rõ về Mongoose, thì hãy tiếp tục Bắt đầuĐể bắt đầu, bạn sẽ khởi tạo một Nút mới. ứng dụng js. Trong dấu nhắc lệnh, hãy điều hướng đến nơi bạn muốn lưu trữ Nút của mình. js và thực hiện các lệnh sau 1 mkdir csvimport
2 cd csvimport
3 npm init -y
Sử dụng cờ cd csvimport
28 có nghĩa là dự án được khởi tạo với các giá trị mặc định, vì vậy ứng dụng sẽ bắt đầu với chỉ mục. js. Trước khi tạo và phân tích tệp CSV, trước tiên chúng tôi cần thực hiện một số thiết lập ban đầu. Chúng tôi muốn biến ứng dụng này thành một ứng dụng web; . Trong dấu nhắc lệnh của bạn, hãy cài đặt Express bằng cách chạy lệnh sau1 npm install express --save Vì ứng dụng web này sẽ chấp nhận tệp thông qua biểu mẫu web, nên chúng tôi cũng sẽ sử dụng gói phụ Express Tải lên tệp nhanh. Hãy cài đặt ngay bây giờ 1 mkdir csvimport
0Chúng tôi đã thực hiện đủ cấu hình ban đầu để thiết lập ứng dụng web và tạo một trang web cơ bản sẽ tạo biểu mẫu tải tệp lên Trong thư mục gốc, tạo một chỉ mục. js và thêm đoạn mã sau. Tập tin này thiết lập máy chủ web. 1 mkdir csvimport
12 mkdir csvimport
33 mkdir csvimport
5mkdir csvimport
6mkdir csvimport
7mkdir csvimport
8mkdir csvimport
920 21 22 23 24 25 26 27 28 29 cd csvimport
0cd csvimport
1cd csvimport
2Tệp này nhập các thư viện Express và Express File Upload, định cấu hình ứng dụng web để sử dụng Tải lên tệp và lắng nghe trên cổng 8080. Nó cũng tạo một tuyến đường sử dụng Express tại "/", đây sẽ là trang đích mặc định cho ứng dụng web. Tuyến đường này trả về một chỉ mục. tệp html chứa biểu mẫu web sẽ cho phép người dùng tải tệp CSV lên Bạn có thể khởi động máy chủ web của mình bằng cách chạy lệnh trong thiết bị đầu cuối của mình 1 cd csvimport
4Bạn sẽ nhận được thông báo trong Máy chủ đầu cuối của mình bắt đầu trên cổng 8080. Điều này có nghĩa là bạn đã kết nối thành công với máy chủ web Trong thư mục gốc, tạo một chỉ mục. tệp html. Tệp này tạo biểu mẫu để tải tệp CSV lên 1 cd csvimport
62 cd csvimport
83 30 mkdir csvimport
632 mkdir csvimport
834 20 36 21 38 23 npm init -y
025 npm init -y
227 npm init -y
429 npm init -y
6cd csvimport
1npm init -y
8npm init -y
910 11 12 13 14 15_______06 Tệp HTML này chứa hai điều quan trọng
Khi bạn truy cập http. //máy chủ cục bộ. 8080/ bạn sẽ thấy biểu mẫu được tạo trước đó Như bạn có thể nhận thấy, HTML tham chiếu đến một mẫu Tác giả. Nếu bạn đọc bài viết Giới thiệu về Mongoose, Lược đồ tác giả đã được tạo. Trong bài viết này, bạn sẽ tạo lại Lược đồ này và cho phép người dùng nhập hàng loạt bộ sưu tập tác giả vào cơ sở dữ liệu MongoDB. Chúng ta hãy xem Lược đồ tác giả. Tuy nhiên, trước khi chúng tôi làm điều đó, có lẽ bạn đã đoán ra—chúng tôi cần cài đặt gói Mongoose 1 18 Tạo lược đồ và mô hìnhVới Mongoose đã được cài đặt, hãy tạo một tác giả mới. js sẽ xác định lược đồ và mô hình tác giả 1 npm install express --save0 2 3 npm install express --save3 mkdir csvimport
6npm install express --save5 mkdir csvimport
8npm install express --save7 20 npm install express --save9 21 11 23 13 25 15 27 17 29 19 cd csvimport
1mkdir csvimport
01npm init -y
9mkdir csvimport
0311 mkdir csvimport
0513 mkdir csvimport
0715 mkdir csvimport
09mkdir csvimport
00mkdir csvimport
01mkdir csvimport
02mkdir csvimport
03mkdir csvimport
04mkdir csvimport
05mkdir csvimport
06mkdir csvimport
07mkdir csvimport
08mkdir csvimport
09mkdir csvimport
10mkdir csvimport
11mkdir csvimport
12mkdir csvimport
13mkdir csvimport
1419 mkdir csvimport
16mkdir csvimport
17mkdir csvimport
18mkdir csvimport
05mkdir csvimport
20mkdir csvimport
07mkdir csvimport
22mkdir csvimport
09mkdir csvimport
24mkdir csvimport
01mkdir csvimport
26mkdir csvimport
27mkdir csvimport
28mkdir csvimport
05mkdir csvimport
30mkdir csvimport
07mkdir csvimport
32mkdir csvimport
09mkdir csvimport
34mkdir csvimport
35mkdir csvimport
36mkdir csvimport
13mkdir csvimport
3819 mkdir csvimport
40mkdir csvimport
41mkdir csvimport
42mkdir csvimport
05mkdir csvimport
44mkdir csvimport
07mkdir csvimport
46mkdir csvimport
09mkdir csvimport
48mkdir csvimport
01mkdir csvimport
50mkdir csvimport
51mkdir csvimport
52mkdir csvimport
05mkdir csvimport
54mkdir csvimport
07mkdir csvimport
56mkdir csvimport
09mkdir csvimport
58mkdir csvimport
59mkdir csvimport
60mkdir csvimport
13________ Với lược đồ và mô hình của tác giả đã được tạo, hãy chuyển hướng và tập trung vào việc tạo mẫu CSV có thể tải xuống bằng cách nhấp vào liên kết mẫu. Để hỗ trợ tạo mẫu CSV, chúng tôi sẽ sử dụng gói json2csv. Gói npm này c chuyển đổi JSON thành CSV với tiêu đề cột và kết thúc dòng phù hợp. 1____183 Bây giờ bạn sẽ cập nhật chỉ mục đã tạo trước đó. js để bao gồm một tuyến đường mới cho /template. Bạn sẽ thêm mã mới này cho tuyến mẫu vào chỉ mục đã tạo trước đó. tập tin js 1____185 2 mkdir csvimport
87Điều đầu tiên mã này làm là bao gồm một mẫu mới. js (sẽ được tạo tiếp theo) và tạo một route cho /template. Lộ trình này sẽ gọi hàm cd csvimport
33 trong mẫu. tập tin jsVới máy chủ Express được cập nhật để bao gồm tuyến đường mới, hãy tạo mẫu mới. tập tin js 1 mkdir csvimport
892 3 mkdir csvimport
92mkdir csvimport
6mkdir csvimport
8mkdir csvimport
9520 mkdir csvimport
9721 mkdir csvimport
9923 201 25 203 27 205 29 207 cd csvimport
1209 npm init -y
911 212 13 15 215 mkdir csvimport
00217 mkdir csvimport
02mkdir csvimport
04220 mkdir csvimport
06mkdir csvimport
08223 Tệp này trước tiên bao gồm gói cd csvimport
34 đã cài đặt. Sau đó, nó tạo và xuất một hàm cd csvimport
33. Chức năng này chấp nhận các đối tượng yêu cầu và phản hồi từ máy chủ ExpressBên trong hàm, bạn tạo một mảng các trường mà bạn muốn đưa vào mẫu CSV. Điều này có thể được thực hiện theo một trong hai cách. Cách đầu tiên (được thực hiện trong hướng dẫn này) là tạo một danh sách tĩnh các trường sẽ được đưa vào mẫu. Cách thứ hai là tạo động danh sách các trường bằng cách trích xuất các thuộc tính từ lược đồ tác giả Cách thứ hai là sử dụng đoạn mã sau 1____225 Sẽ là một ý tưởng hay nếu sử dụng phương pháp động, nhưng sẽ hơi phức tạp khi bạn không muốn đưa nhiều thuộc tính từ Lược đồ vào mẫu CSV. Trong trường hợp này, mẫu CSV của chúng tôi không bao gồm các thuộc tính cd csvimport
36 và cd csvimport
37 vì các thuộc tính này sẽ được điền thông qua mã. Tuy nhiên, nếu bạn không có trường muốn loại trừ, phương thức động cũng sẽ hoạt độngTạo Mẫu CSVVới mảng các trường được xác định, bạn sẽ sử dụng gói cd csvimport
34 để tạo mẫu CSV từ đối tượng JavaScript của mình. Đối tượng cd csvimport
39 này sẽ là kết quả của route nàyVà cuối cùng, sử dụng thuộc tính cd csvimport
40 từ máy chủ Express, hai thuộc tính tiêu đề sẽ được đặt để buộc tải xuống tác giả. tệp csvTại thời điểm này, nếu bạn chạy ứng dụng Node của mình và điều hướng đến http. //máy chủ cục bộ. 8080/ trên trình duyệt web của bạn, biểu mẫu web sẽ được hiển thị với liên kết để tải xuống mẫu. Nhấp vào liên kết để tải xuống mẫu sẽ cho phép bạn tải xuống các tác giả. tệp csv. Tệp này sẽ được điền trước khi được tải lên Mở tệp mẫu trong Microsoft Excel, tệp CSV phải được điền như vậy Dưới đây là một ví dụ về tệp CSV đã điền 1 227____2____229 3 231 mkdir csvimport
6233 Ví dụ này khi tải lên sẽ tạo ra ba tác giả Các mảnh ghép bắt đầu ghép lại với nhau và tạo thành một bức tranh. Hãy chuyển sang phần thịt và khoai tây của ví dụ này và phân tích cú pháp tệp CSV đó. chỉ mục. js yêu cầu một số cập nhật để kết nối với MongoDB và tạo một tuyến POST mới sẽ chấp nhận tệp tải lên 1 mkdir csvimport
12_______13 3 mkdir csvimport
5mkdir csvimport
6mkdir csvimport
85mkdir csvimport
8243 20 21 mkdir csvimport
923 25 22 27 24 29 26 cd csvimport
1mkdir csvimport
87npm init -y
9257 11 13 260 15__ mkdir csvimport
0028_____03_____12 Với kết nối cơ sở dữ liệu và định tuyến POST mới được định cấu hình, đã đến lúc phân tích cú pháp tệp CSV. May mắn thay, có một số thư viện tuyệt vời hỗ trợ công việc này. Đối với hướng dẫn này, chúng tôi sẽ sử dụng gói cd csvimport
41 có thể được cài đặt bằng lệnh sau_______269 Tuyến POST được tạo tương tự như tuyến mẫu, gọi hàm cd csvimport
42 từ quá trình tải lên. tập tin js. Không cần thiết phải đặt các chức năng này trong các tệp riêng biệt; gửi dữ liệuVà cuối cùng, hãy tạo tệp tải lên. js chứa hàm cd csvimport
42 được gọi khi gửi biểu mẫu đã tạo trước đó1 271 2 npm install express --save0 3 275 mkdir csvimport
6mkdir csvimport
8278 20 280 21 282 23 284 25 286 27 29 289 cd csvimport
1291 npm init -y
9293 11 295 13 297 15 299 mkdir csvimport
00cd csvimport
01mkdir csvimport
02cd csvimport
03mkdir csvimport
04cd csvimport
05mkdir csvimport
06cd csvimport
07mkdir csvimport
08cd csvimport
09mkdir csvimport
10cd csvimport
01mkdir csvimport
12cd csvimport
13mkdir csvimport
14cd csvimport
15mkdir csvimport
16cd csvimport
17mkdir csvimport
18cd csvimport
19mkdir csvimport
20cd csvimport
07mkdir csvimport
22cd csvimport
23mkdir csvimport
24cd csvimport
25mkdir csvimport
26223 Khá một chút đang xảy ra trong tập tin này. Ba dòng đầu tiên bao gồm các gói cần thiết sẽ được yêu cầu phân tích cú pháp và lưu dữ liệu CSV Tiếp theo, hàm cd csvimport
42 được xác định và xuất để chỉ mục sử dụng. tập tin js. Bên trong chức năng này là nơi phép thuật diễn raĐầu tiên, hàm kiểm tra xem có một tệp chứa trong phần thân yêu cầu không. Nếu không, một lỗi được trả về cho biết tệp phải được tải lên Khi một tệp đã được tải lên, một tham chiếu đến tệp được lưu vào một biến có tên là cd csvimport
45. Điều này được thực hiện bằng cách truy cập mảng cd csvimport
46 và thuộc tính cd csvimport
31 trong mảng. Thuộc tính cd csvimport
31 khớp với tên của tên đầu vào tệp của tôi đã được xác định lần đầu trong chỉ mục. ví dụ htmlMột mảng cd csvimport
49 trống sẽ được điền khi tệp CSV được phân tích cú pháp đã được tạo. Mảng này sẽ được sử dụng để lưu dữ liệu vào cơ sở dữ liệuThư viện cd csvimport
41 hiện được gọi bằng cách tận dụng hàm cd csvimport
51. Hàm này chấp nhận tệp CSV dưới dạng chuỗi. Chuỗi được trích xuất từ thuộc tính cd csvimport
52. Thuộc tính cd csvimport
53 chứa nội dung của tệp CSV đã tải lênDòng tiếp theo bao gồm hai tùy chọn cho hàm cd csvimport
41. cd csvimport
55 và cd csvimport
56. Cả hai đều được đặt thành cd csvimport
57. Điều này cho thư viện biết rằng dòng đầu tiên của tệp CSV sẽ chứa các tiêu đề và các hàng trống sẽ bị bỏ quaVới các tùy chọn được định cấu hình, chúng tôi thiết lập hai hàm nghe được gọi khi sự kiện cd csvimport
53 và sự kiện cd csvimport
59 được kích hoạt. Sự kiện cd csvimport
53 được gọi một lần cho mỗi hàng của tệp CSV. Sự kiện này chứa một đối tượng JavaScript của dữ liệu được phân tích cú phápĐối tượng được cập nhật để bao gồm thuộc tính cd csvimport
36 của lược đồ tác giả với một cd csvimport
62 mới. Đối tượng này sau đó được thêm vào mảng cd csvimport
49Khi tệp CSV đã được phân tích cú pháp đầy đủ, sự kiện cd csvimport
59 được kích hoạt. Bên trong hàm gọi lại sự kiện, chúng ta sẽ gọi hàm cd csvimport
65 trên model tác giả, truyền mảng cd csvimport
49 cho nóNếu xảy ra lỗi khi cố lưu mảng, một ngoại lệ sẽ được đưa ra; Lược đồ cơ sở dữ liệu phải tương tự như thế này Nếu bạn muốn xem mã nguồn đầy đủ, bạn có thể kiểm tra kho lưu trữ GitHub với mã Sự kết luậnTrong hướng dẫn này, chúng tôi chỉ tải lên một vài bản ghi. Nếu trường hợp sử dụng của bạn yêu cầu khả năng tải lên hàng nghìn bản ghi, bạn nên lưu các bản ghi thành các phần nhỏ hơn Điều này có thể được thực hiện theo nhiều cách. Nếu tôi triển khai nó, tôi khuyên bạn nên cập nhật chức năng gọi lại cd csvimport
53 để kiểm tra độ dài của mảng tác giả. Khi mảng vượt quá độ dài xác định của bạn, e. g. 100, gọi hàm cd csvimport
68 trên mảng, sau đó đặt lại mảng thành trống. Điều này sau đó sẽ lưu các bản ghi trong khối 100. Đảm bảo rời khỏi cuộc gọi cd csvimport
65 cuối cùng trong chức năng gọi lại cd csvimport
59 để lưu các bản ghi cuối cùngVui thích Bài đăng này đã được cập nhật với sự đóng góp từ Mary Okosun. Mary là nhà phát triển phần mềm có trụ sở tại Lagos, Nigeria, có chuyên môn về Node. js, JavaScript, MySQL và công nghệ NoSQL Làm cách nào để tải lên tệp CSV trong nút js?Cách nhập hoặc tải lên bản ghi CSV trong Cơ sở dữ liệu MySQL bằng cách sử dụng Express REST API trong Node Js . Bước 1. Tạo ứng dụng nút Bước 2. Cài đặt phụ thuộc NPM Bước 3. Tạo bảng cơ sở dữ liệu Bước 4. Xây dựng tệp máy chủ Bước 5. Phục vụ ứng dụng nút Làm cách nào để nhập tệp Excel trong MongoDB bằng Node js?Nhập tệp Excel vào MongoDB bằng Node js + Express . Bước 1 – Tạo ứng dụng Node Express js Bước 2 – Cài đặt các mô-đun nút cần thiết Bước 3 – Tạo mô hình Bước 4 – Tạo biểu mẫu đánh dấu HTML tải lên tệp Excel Bước 5 – Nhập mô-đun trong ứng dụng. js Bước 6 – Khởi động máy chủ ứng dụng Làm cách nào để nhập tệp CSV vào MongoDB bằng Python?Chúng tôi sẽ sử dụng tên người dùng tệp CSV bằng phương thức DictReader(). Hàm DictReader() trả về một đối tượng trình đọc csv. Chúng tôi sẽ lặp lại (lặp) qua đối tượng trình đọc CSV và tạo dữ liệu JSON để chèn nhiều bản ghi vào cơ sở dữ liệu MongoDB. Cuối cùng, chúng ta sẽ chèn dữ liệu hàng JSON vào MongoDB bằng phương thức insert_many()
Làm cách nào để nhập tệp CSV trong MongoDB Atlas?Bạn có thể sử dụng mongoimport để nhập dữ liệu từ tệp JSON hoặc tệp CSV vào cụm MongoDB Atlas. . Trong phần Bảo mật của điều hướng bên trái, nhấp vào Truy cập cơ sở dữ liệu. Tab Người dùng cơ sở dữ liệu hiển thị Nhấp vào Thêm người dùng cơ sở dữ liệu mới Thêm người dùng quản trị Atlas |