Phần thứ hai của bài tập này đề cập đến các
bài được đặt khác nhau và xóa các hoạt động trên các tài liệu phụ bên trong tài liệu.
Như chúng ta đã thấy trong ví dụ cho các món ăn,
chúng tôi thấy rằng các ý kiến được bao gồm bên trong các món ăn chính nó như một tài liệu phụ,
trong cách chúng tôi xác định cả lược đồ nhận xét và lược đồ món ăn,
và sau đó xác định mô hình món ăn bằng cách bao gồm lược đồ nhận xét
vào giản đồ món ăn như một mảng ý kiến.
Và chúng ta đã thấy trong bài tập trước đó như thế nào các ý kiến được bao bọc bên
trong một mảng dưới dạng một mảng tài liệu bên trong mỗi tài liệu món ăn.
Vì vậy, làm thế nào để chúng ta thực hiện sửa đổi cho các ý kiến của mình?
Làm thế nào để chúng ta có được tất cả các danh sách các ý kiến cho một món ăn?
Làm thế nào để chúng ta sửa đổi một bình luận cụ thể trong món ăn và vân vân?
Vì vậy, đây là những gì chúng ta sẽ thấy về làm thế nào để
hỗ trợ họ bằng cách sử dụng nhiều get put bài và xóa các hoạt động trên
các món ăn món ăn slash món ăn ID slash ý kiến và các món ăn
slash món ăn ID slash ý kiến slash nhận xét điểm cuối ID REST API.
Để bắt đầu bài tập này,
một lần nữa, quay trở lại bộ định tuyến món ăn,
họ đã thấy cách chúng tôi xử lý điểm cuối gạch chéo và điểm cuối ID món ăn gạch chéo.
Bây giờ, phần lớn công việc này mà chúng tôi làm ở đây đã hữu ích cho chúng tôi,
vì vậy những gì tôi sẽ làm là sao chép mã này,
và sau đó chúng tôi sẽ chỉnh sửa mã đó một cách thích hợp để xử lý các ý kiến và nhận xét ID.
Vì vậy, tôi sẽ sao chép toàn bộ mã này mà chúng ta có
ở đây cả cho dấu gạch chéo và dấu gạch chéo ID món ăn vàng,
và sau đó chúng tôi sẽ dán nó ngay bên dưới đây một lần nữa.
Và sau đó chúng ta sẽ đi vào và sửa đổi mỗi người trong số họ.
Vì vậy, chúng tôi đã thấy rằng nếu bạn nhìn lại,
người đầu tiên là xử lý dấu gạch chéo mà sẽ được gắn kết trên các món ăn gạch chéo điểm cuối.
Và người tiếp theo là xử lý ID món ăn gạch chéo.
Vì vậy, một trong những thứ ba nên được xử lý gạch chéo món ăn ID slash ý kiến.
Vì vậy, đi xuống
đây, tuyến đường bộ định tuyến món ăn thứ ba này sẽ là slash món ăn ID slash ý kiến.
Và sau đó người cuối cùng, tất nhiên,
sẽ là dấu gạch chéo món ăn ID dấu gạch chéo
ý kiến và sau đó gạch chéo dấu chấm ID nhận xét.
Vì vậy, bây giờ mà chúng tôi đã cập nhật các tuyến đường ở đây,
bây giờ bước tiếp theo là để đi vào và sửa chữa
các mã trong get put post và xóa các hoạt động ở đây.
Vì vậy, chúng tôi sẽ bắt đầu với các món ăn gạch chéo ID slash ý kiến điểm cuối.
Vì vậy, trong trường hợp của các món ăn slash ID slash ý kiến điểm cuối, vì
vậy chúng tôi sẽ làm món ăn tìm thấy nhưng thay vì nói món ăn tìm thấy,
chúng tôi sẽ làm món ăn tìm thấy theo
ID và vì vậy chúng tôi sẽ tìm thấy các món ăn cụ thể mà chúng tôi đang tìm kiếm.
Vì vậy, ở đây, chúng tôi sẽ tìm kiếm rằng req params món ăn ID,
vì vậy chúng tôi sẽ đầu tiên tìm kiếm các món ăn,
và vì vậy điều này sẽ trả lại một món ăn cụ thể.
Vì vậy, khi nó trả lại món ăn cụ thể ở đây,
sau đó những gì họ sẽ kiểm tra bên trong đây
là nếu món ăn không bằng null.
Có thể món ăn không tồn tại,
vì vậy nếu chúng ta tìm kiếm một món ăn cụ thể với một ID món ăn, món ăn
đó có thể không tồn tại,
vì vậy chúng ta cần phải lo lắng về việc xử lý tình huống cụ thể đó.
Vì vậy, chúng ta hãy xử lý phần đó bên trong đây,
và vì vậy nếu nó không phải là null thì điều đó có nghĩa là món ăn tồn tại.
Vì vậy, tôi sẽ cắt nó ra và sau đó dán nó vào đó.
Và sau đó trong trường hợp này,
vì món ăn không phải là null, vì
vậy chúng tôi sẽ trả lại mã trạng thái và tiêu đề thiết lập và
sau đó ở đây chúng tôi sẽ trả lại ý kiến món ăn,
bởi vì chúng tôi được yêu cầu chỉ trả lại ý kiến cho món ăn cụ thể, vì vậy chúng tôi sẽ nói,
“Món ăn tìm theo ID,
sau đó req thông số ID món ăn và sau đó món ăn.”
Và vì vậy chúng tôi sẽ trả lại các ý kiến món ăn ở đây.
Nếu không, vì vậy đây là phần khác.
Vì vậy, có nghĩa là món ăn không tồn tại.
Vì vậy, trong trường hợp này,
chúng tôi sẽ xây dựng một lỗi ở đây bằng cách nói lỗi mới và sau đó chúng tôi sẽ nói
món ăn req params ID món ăn không tìm thấy.
Vì vậy, món ăn đặc biệt này không được tìm thấy,
vì vậy rõ ràng chúng tôi sẽ không thể trả lại lời bình luận cho món ăn không tồn tại.
Vì vậy, trong trường hợp này,
vì vậy chúng tôi sẽ tạo ra một đối tượng lỗi mới và sau đó chúng tôi sẽ
thiết lập trạng thái trong đối tượng lỗi là 404.
Một lần nữa, đây là 404 không tìm thấy,
và sau đó chúng tôi sẽ trở lại Err tiếp theo.
Bây giờ, tại sao chúng ta làm điều này?
Bởi vì nếu bạn trả lại điều này như là một lỗi, như bạn sẽ nhớ lại,
điều này sẽ được xử lý bởi tập tin app.js của bạn,
vì vậy trong tập tin app.js,
ngay ở dưới cùng ở đây,
chúng tôi có trình xử lý lỗi ở đây.
Vì vậy, khi nói đến ở đây,
điều này sẽ thiết lập phần còn lại hoặc trạng thái lỗi chấm trạng thái,
mà chúng tôi đã thiết lập để 404,
vì vậy đó là những gì sẽ được trả lại,
và sau đó nó sẽ chỉ đơn giản là lấy lỗi đó và sau đó hiển thị lỗi đó ở đây.
Vì vậy, điều đó sẽ chăm sóc của render các lỗi.
Vì vậy, điều này sẽ trả lại thông báo lỗi cho khách hàng của chúng tôi.
Đó là những gì chúng tôi đang gọi ở đây,
vì vậy nếu món ăn không tồn tại,
chúng tôi sẽ chỉ trả lại lỗi đó ở đây từ hoạt động get.
Bây giờ, cho bài viết trong trường hợp của bài viết,
chúng tôi hy vọng rằng họ sẽ được
trả lại một ID món ăn và sau đó chúng tôi sẽ tìm kiếm các món ăn,
và sau đó chúng tôi sẽ lấy tập hợp các ý kiến
từ cơ thể và sau đó đẩy nó vào các món ăn ở đó.
Vì vậy, chúng tôi sẽ nói các món ăn, một lần nữa, ở đây,
chúng tôi sẽ phải làm việc tìm kiếm bởi id bởi vì chúng tôi đang tìm kiếm các món ăn cụ thể ở đây.
Vì vậy, đối với bài viết, chúng ta sẽ nói món ăn tìm theo ID sau đó món ăn,
và như vậy bên trong đây,
nếu món ăn tồn tại,
sau đó chúng tôi sẽ xử lý các món ăn thích hợp.
Nếu không, thì chúng tôi sẽ phải gửi thông báo lỗi.
Vì vậy, để tôi sao chép phần này từ get và sau đó,
chúng tôi sẽ thay thế điều này ở đây.
Vì vậy, rõ ràng, nếu món ăn không tồn tại,
sau đó chúng tôi sẽ trả lại lỗi này ở đây,
nhưng nếu món ăn tồn tại, trong trường hợp đó,
chúng tôi sẽ trả lại mã trạng thái 200 bộ tiêu đề.
Nhưng trước khi chúng tôi vượt qua giá trị,
những gì tôi sẽ làm là nói ý kiến món ăn,
vì vậy chúng tôi đang đăng một bộ ý kiến mới cho món ăn.
Vì vậy, chúng tôi sẽ nói ý kiến món ăn đẩy cơ thể req.
Bởi vì nội dung của thông điệp chứa tất cả các ý kiến cần phải được đẩy ở đây,
và sau đó, chúng tôi sẽ nói, “Tiết kiệm món ăn”.
Và vì vậy nếu tiết kiệm trở lại thành công với món ăn ở đây,
vì vậy chúng tôi sẽ gửi món ăn cập nhật từ đây.
Vì vậy, phần này, nơi chúng tôi đang xây dựng mã trạng thái,
chúng tôi sẽ làm điều đó bên trong ở đây và sau đó chúng tôi sẽ gửi lại các
res.json và các món ăn mà chúng tôi thu được ở đây.
Vì vậy, những gì chúng tôi đang làm là chúng tôi đang tiết kiệm món ăn ở đây.
Chúng tôi lần đầu tiên đẩy các ý kiến vào món ăn ở đó,
tập hợp các ý kiến mới vào món ăn ở đây,
và sau đó chúng tôi đang lưu các món ăn cập nhật ở đây.
Sau đó, sau khi lưu,
chúng tôi sẽ trả lại món ăn cập nhật trở lại cho người dùng ở đây.
Sau đó, nếu có một lỗi,
sau đó chúng tôi sẽ xử lý các lỗi giống như chúng tôi đã làm ở đây.
Nếu món ăn không tồn tại, tất nhiên,
chúng ta sẽ trả lại lỗi nói rằng món ăn không tồn tại.
Vì vậy, đây là cho bài đăng.
Các hoạt động PUT, tất nhiên,
không được hỗ trợ trên các món ăn.
Vì vậy, trong trường hợp này,
chúng tôi đang cố gắng thực hiện các hoạt động PUT
trên các món ăn, req.params.Dishid/bình luận.
Vì vậy, điều này là không được phép.
Vì vậy, đó là những gì chúng tôi đang nói cho hoạt động PUT.
Đối với thao tác xóa,
những gì chúng tôi sẽ làm là đầu tiên tìm món ăn.
Vì vậy, chúng ta sẽ nói món ăn. Findbyid.
Vì vậy, xóa có nghĩa là chúng tôi đang loại bỏ tất cả các ý kiến từ món ăn,
không phải là món ăn chính nó,
nhưng chúng tôi đang loại bỏ tất cả các ý kiến từ món ăn.
Vì vậy, trong trường hợp này,
những gì chúng tôi sẽ kết thúc làm là như sau: vì vậy nếu món ăn không phải là null,
nhớ lại rằng chúng ta cần phải xử lý nó bằng cách nói sau đó món ăn.
Nếu món ăn không phải là null,
sau đó chúng tôi sẽ loại bỏ tất cả các ý kiến từ món ăn.
Vì vậy, tôi sẽ sao chép mã đó và sau đó dán nó vào đây,
và sau đó chúng tôi sẽ chỉnh sửa mã này, sau đó xóa.
Chúng ta sẽ thấy nếu món ăn không phải là null,
sau đó họ sẽ trả lại món ăn ở đây.
Vì vậy, nếu món ăn không phải là null,
wat chúng tôi sẽ xử lý điều này là như sau.
Vì vậy, chúng ta sẽ phải đi vào và xóa từng ý kiến.
Vì vậy, chúng ta sẽ nói cho (var i =
(dish.comments.length -1) i>= 0; i—).
Vì vậy, chúng tôi đang theo nghĩa đen đi vào và loại bỏ mỗi bình luận.
Vì vậy, chúng ta sẽ nói
dish.comments.id (dish.comments [i]. _id).
Chúng ta sẽ nói là bỏ đi.
Vì vậy, chúng tôi sẽ được loại bỏ mỗi món ăn,
một dưới mỗi ý kiến từng người một.
Vì vậy, đây là những gì chúng tôi sẽ làm với các ý kiến.
Sau đó, một khi chúng tôi đã loại bỏ tất cả các ý kiến cho món ăn,
sau đó chúng tôi sẽ phải lưu các món ăn và sau đó gửi lại.
Vì vậy, trước đó cũng khi chúng tôi sửa đổi các món ăn,
đây là những gì chúng tôi đã làm ở đây.
Vì vậy, tôi sẽ sao chép phần này,
và sau đó đến đây,
và sau đó nói dish.save, sau
đó chúng tôi sẽ trả lại món ăn
ở đây để chỉ ra các món ăn cập nhật được trả lại ở đây.
Vì vậy, đây là cách chúng tôi sẽ xóa các nhận xét.
Vì vậy, ở đây chúng ta đang đi vào,
bây giờ không có cách dễ dàng để kéo ra
tất cả các ý kiến từ mảng khi bạn có một tài liệu phụ.
Vì vậy, bạn phải đi vào và xóa từng tài liệu phụ một.
Vì vậy, đó là những gì tôi đang làm trong này cho vòng lặp ở đây.
Vì vậy, tôi đang nói cho (var i = dish.comments.length).
Vì vậy, tôi đang nhìn vào mảng ý kiến và sau đó bắt
đầu từ nhận xét cuối cùng trong mảng đó tất cả các cách để nhận xét đầu tiên,
tôi sẽ vào và sau đó xóa nhận xét bằng cách sử dụng
các hoạt động gỡ bỏ trên tài liệu con.
Vì vậy, cách chúng tôi sẽ truy cập một tài liệu con là bằng cách nói
món ăn và sau đó nhận xét là tên trường và sau đó tôi nói id ở đây.
Vì vậy, đây là cách bạn truy cập một tài liệu con,
và bên trong đây bạn sẽ chỉ định id của các tài liệu con mà bạn đang cố gắng truy cập.
Vì vậy, toàn bộ điều này sẽ cung cấp cho bạn quyền truy cập vào tài liệu con,
và sau đó chúng tôi gọi phương pháp remove trên tài liệu con,
và do đó tài liệu con sẽ được gỡ bỏ khỏi mảng các tài liệu con.
Sau đó, sau khi chúng tôi đã xóa tất cả các nhận xét,
tôi sẽ lưu các thay đổi và đó là nó.
Vì vậy, tất cả các ý kiến của tôi sẽ bị xóa khỏi món ăn sau đó.
Bây giờ, chúng ta sẽ đối phó với điểm kết thúc tiếp theo đó là Dishidcomments/:CommentID.
Vì vậy, trong trường hợp này,
chúng tôi sẽ bắt đầu bằng cách đầu tiên định vị món ăn và sau đó sau khi chúng tôi xác định vị trí món ăn,
sau đó chúng tôi phải đảm bảo rằng món ăn tồn tại,
và sau đó đối phó với món ăn.
Vì vậy, tôi sẽ xóa phần này,
và sau đó chúng ta sẽ nói chúng ta hãy sao chép phần này từ git mà chúng ta đã có trước đó
bởi vì chúng ta cần phải có khả năng đối phó với tình
huống mà một trong hai món ăn không tồn tại hoặc món ăn tồn tại nhưng ý kiến không tồn tại,
hoặc món ăn tự nó không tồn tại.
Vì vậy, có ba điều kiện mà tôi cần phải kiểm tra.
Vì vậy, chúng ta sẽ nói nếu (món ăn! =
null && dish.comments.id (Req.params.Commentid)! =
null, do đó có nghĩa là món ăn chính nó tồn tại và cũng có ý kiến tồn tại trong món ăn,
chỉ sau đó chúng tôi có thể gửi lại một bình luận cụ thể đã được yêu cầu.
Vì vậy, trong trường hợp đó,
chúng ta sẽ nói StatusCode là 200, SeTheader ứng dụng json,
và sau đó ở đây chúng tôi sẽ gửi lại dish.comments,
và chúng tôi đang gửi lại nhận xét đặc biệt này.
Vì vậy, đó là bình luận cụ thể mà chúng tôi đang gửi max.
Vì vậy, điều này sẽ cho phép chúng tôi lấy một bình luận cụ thể từ tập hợp các ý kiến.
Bây giờ, chúng ta sẽ nói khác nếu món ăn bằng null.
Vì vậy, các món ăn null,
sau đó tất nhiên chúng ta sẽ phải chỉ ra rằng món ăn không tồn tại và
điều kiện cuối cùng là nếu bình luận chính nó là null.
Vì vậy, trong trường hợp đó cũng tôi phải chỉ ra rằng bình luận chính nó không tồn tại,
rằng ID bình luận cụ thể không tồn tại vì vậy trong trường hợp đó,
tôi sẽ nói
bình luận lỗi mới req.params.CommentID không tìm thấy.
Vậy, ba điều kiện.
Đầu tiên, bạn phải chắc chắn rằng món ăn tồn tại và các ý kiến món ăn tồn tại,
nếu họ làm sau đó tôi có thể gửi lại bình luận cụ thể,
nếu không, nếu món ăn tự nó không tồn tại ở phía máy chủ trong cơ sở dữ liệu,
sau đó tôi sẽ chỉ ra rằng món ăn không tồn tại nhưng nếu
món ăn nhưng nhận xét không tồn tại,
sau đó tôi sẽ gửi lại thông điệp nói rằng nhận xét không tồn tại.
Vì vậy, lưu ý rằng họ phải xử lý tất cả các điều kiện có thể ở đây cho GET.
Đối với POST tất nhiên,
hoạt động bài không được hỗ trợ trên điểm cuối này,
vì vậy chúng tôi sẽ nói
ý kiến slash req.params.Commentid.
Vì vậy, các hoạt động POST không được hỗ trợ trên nhận xét này Id. Bây giờ còn PUT thì sao?
PUT là một trường hợp thú vị hơn ở đây.
Vì vậy, một lần nữa ngay cả đối với đặt,
tôi phải xử lý tất cả các điều kiện có thể, vì
vậy tôi sẽ nhìn vào điều này và nói, okay cho điều này,
hãy để tôi sao chép toàn bộ mã này bởi vì chúng ta phải xử lý
tất cả các khả năng này và sau đó tôi sẽ cho bạn biết chính xác làm thế nào chúng tôi xử lý trường hợp PUT ở đây.
Vì vậy, trong trường hợp PUT,
trước hết chúng ta cần phải xác định vị trí cuộc tàn sát.
Vì vậy, họ sẽ nói món ăn tìm thấy bởi Id req param Id,
sau đó nếu món ăn tồn tại và bình luận chính nó tồn tại,
sau đó tôi biết rằng tôi có thể cập nhật bình luận.
Nếu không, hai điều kiện này rõ ràng phải được chăm sóc,
nhận xét đó không tồn tại hoặc món ăn không tồn tại.
Hai người này đã được xử lý bởi vụ án đó.
Bây giờ, đây là tình huống đặc biệt mà chúng ta có.
Vì vậy, nếu món ăn tồn tại và nhận xét cụ thể mà tôi đang tìm kiếm cũng tồn tại,
thì những gì tôi biết là trong nội dung của thông điệp,
bản cập nhật cho nhận xét được chỉ định.
Vì vậy, tôi cần phải cập nhật điều đó.
Vì vậy, một nơi nào đó ở đây
tôi làm sửa đổi,
tôi làm một món ăn lưu ở đây, vì vậy tôi sẽ đi vào và sao chép một chút mã này từ đây,
tất nhiên đây không phải là điều đúng nhưng tôi chỉ cần một phần của mã từ đó,
vì vậy tôi sẽ đi vào PUT.
Để tôi dán nó vào vị trí ở đây và
sau đó tôi sẽ cho bạn biết chính xác làm thế nào họ sẽ xử lý điều này.
Bởi vì tôi cần món ăn tiết kiệm một phần.
Vì vậy, làm thế nào để chúng tôi xử lý bản cập nhật cho một nhận xét cụ thể?
Vì vậy, để cập nhật cho một bình luận cụ thể,
những gì chúng ta biết là bình luận này cần phải được cập nhật,
vì vậy chúng ta biết rằng món ăn tồn tại và bình luận chính nó tồn tại.
Tôi muốn cập nhật các lĩnh vực hiện tại.
Bây giờ, nếu một bình luận đã tồn tại thì tôi không
muốn cho phép người dùng thay đổi tác giả của bình luận,
tác giả nên giữ lại.
Hai trường duy nhất mà tôi sẽ cho phép cập nhật người dùng là đánh giá.
Vì vậy, trong nội dung của thông điệp PUT đến,
tôi có thể bao gồm
đánh giá cập nhật
hoặc nhận xét cập nhật.
Đây là hai điều duy nhất mà tôi sẽ cho phép người dùng thay đổi.
Vì vậy, nếu các tài sản đánh giá là cơ thể gián tiếp để gọi rằng cơ thể
sẽ chứa các cập nhật mà chúng tôi đang cố gắng để làm như vậy trong trường hợp này chúng tôi sẽ nói món ăn.
Vì vậy, chúng tôi sẽ nói ý kiến món ăn,
vì vậy hãy để tôi chỉ sao chép phần này.
Dish bình luận bình luận Id.
Bây giờ đây là một cách đơn giản để xử lý vấn đề này ở đây.
Bởi vì không có cách cụ thể để cập nhật
một nhận xét cụ thể mà là trong một tài liệu phụ,
không có phương pháp cụ thể để thực hiện việc này.
Vì vậy, đây là workaround mà tôi thấy rằng dường như làm việc cho chúng tôi,
vì vậy chúng tôi sẽ nói món ăn ý kiến req tham số bình luận Id đánh giá bằng req body.rating.
Vì vậy, tôi sẽ cập nhật đánh giá.
Tương tự như vậy, nếu bình luận tồn tại ở đó,
sau đó tôi sẽ nói req bình luận Id bình luận req bình luận cơ thể.
Vì vậy, đó là cách tôi sẽ được cập nhật đánh giá và nhận xét,
và tôi đã từng nói về cập nhật đánh giá và nhận xét,
và họ sẽ lưu các món ăn,
và sau đó một khi tôi lưu các món ăn sau đó tôi sẽ gửi lại trả lời.
Vì vậy, lưu ý rằng đây là cách duy nhất mà tôi tìm thấy đó là dễ dàng, đủ
để cập nhật một tài liệu phụ nhúng bên trong một tài liệu của Mongoose.
Không có cách rõ ràng mà Mongoose hỗ trợ cho việc cập nhật một tài liệu nhúng.
Vì vậy, đây là cách giải quyết mà tôi tìm thấy cho phép chúng tôi thực hiện thao tác này.
Bây giờ cho hoạt động xóa.
Đối với các hoạt động xóa chúng tôi đang xóa chỉ một cụ thể-
Bình luận, vì vậy tôi sẽ lấy thông tin này từ
deleter cho tất cả các ý kiến
và thay vì xóa tất cả các ý kiến
tôi sẽ chỉ được xóa một bình luận cụ thể.
Vì vậy, để tôi sao chép lại từ việc xóa.
Để tôi dán nó vào đây và sau đó chúng tôi sẽ cập nhật điều này.
Vì vậy, nếu tôi xóa một bình luận cụ thể, vì vậy tôi sẽ tìm thấy các món ăn đầu tiên.
Nếu món ăn không phải là null,
nhớ lại rằng trong tình huống này tôi phải xử lý cả hai món ăn
không phải là null và cũng là bình luận không phải là null.
Vì vậy, tôi sẽ nói nếu
món ăn không bằng null và món ăn ý kiến id tham số không bằng null,
sau đó tôi biết rằng tôi có một bình luận cụ thể mà tôi muốn xóa.
Tôi không xóa tất cả các ý kiến,
tôi chỉ xóa một bình luận cụ thể ở đây.
Vì vậy, tôi sẽ nói ý kiến món ăn id và sau đó tôi xóa bình luận cụ thể ở đây đó
là req.params.Commentid và loại bỏ
rằng bình luận cụ thể và sau đó tôi sẽ lưu các món ăn cập nhật và sau đó chuyển sang với điều đó.
Bây giờ, phần khác tôi cần phải xử lý cả hai tình huống.
Vì vậy, để tôi sao chép phần này khác nếu món ăn không bằng null và
như vậy và sau đó thay thế này ở đây.
Vì vậy, nếu món ăn là null sau đó tôi sẽ gửi lại lỗi nói rằng món ăn không tồn tại.
Nếu nhận xét là null sau đó tôi sẽ gửi lại lỗi nói bình luận không tồn tại.
Vì vậy, đó là nó,
đây là bản cập nhật mà tôi đang làm ở đây.
Để xóa một bình luận cụ thể,
trước tiên tôi sẽ đảm bảo rằng các món ăn và bình luận
tồn tại sau đó tôi sẽ xóa các bình luận cụ thể và sau đó tôi sẽ lưu
các thay đổi cho các món ăn và sau đó
tiếp tục xử lý phần còn lại của các trường hợp, đó là nó.
Hãy lưu các thay đổi và sau đó xem cách thức hoạt động.
Đi đến thiết bị đầu cuối,
tôi thấy máy chủ MongoDB không lên và chạy vì vậy chúng ta hãy bắt đầu ở đó.
Hãy chắc chắn
rằng, tất nhiên, máy chủ MongoDB đang hoạt động và chạy, chúng ta
cũng hãy bắt đầu máy chủ nhanh của chúng tôi.
Một khi máy chủ nhanh của bạn được lên và chạy,
những gì chúng tôi sẽ làm là bây giờ chúng tôi đang xem xét cụ thể tại
các ý kiến và sau đó thực hiện các hoạt động trên các ý kiến.
Vì vậy, chúng ta hãy đi đến Postman và
sau đó kiểm tra những gì chúng tôi có trong cơ sở dữ liệu và sau đó cố gắng sửa đổi các ý kiến.
Vì vậy, ở đây tôi đang ở Postman,
vì vậy hãy để tôi lấy các món ăn và bây giờ tôi thấy rằng các món ăn đều trống rỗng.
Vì vậy, để tôi đăng một món ăn để liệt kê các món ăn để tôi đăng một món ăn.
Nhớ lại rằng chúng tôi có món ăn này của cô,
vì vậy trong Postman của tôi, tôi đã làm điều đó cho bài tập trước đó.
Tôi sẽ chỉ chọn nó và sau đó đăng món ăn đó và sau đó bạn
thấy rằng món ăn đặc biệt đó đã được đăng ở đây, dưới đây đây.
Bạn có thể thấy rằng món ăn đã được tạo ra ngay tại đó.
Bây giờ hãy để tôi sao chép món ăn đặc biệt đó và sau đó tôi sẽ
lấy món ăn đó ở đây.
Vì vậy, bạn thấy rằng món ăn đặc biệt tồn tại ở đây.
Trước tiên, chúng ta hãy nhận được tất cả các ý kiến.
Vì vậy, nếu tôi làm một get trên các ý kiến bạn nhận thấy rằng
tất cả các ý kiến cho rằng món ăn đặc biệt đã được trả lại.
Chúng tôi có thể làm bài đăng và xóa cũng.
Hãy đưa vào đó và rõ ràng là bạn không thể đặt trên
lưng để bạn nhận thấy rằng thao tác đặt không hoạt động trên đó.
Hãy đăng một bình luận mới.
Vì vậy, để đăng một bình luận mới, chúng tôi sẽ đi vào cơ thể,
và sau đó cho phép tôi cắt ra tất cả những điều này và sau đó chúng tôi sẽ chỉnh sửa một trong những
ý kiến và sau đó
cố gắng đăng nhận xét đó.
Vì vậy, chúng tôi sẽ nói đánh giá ba và sau đó chúng tôi sẽ
nói bình luận thử nghiệm, người dùng thử nghiệm.
Hãy đăng bình luận này.
Khi bạn đăng bình luận này,
bạn thấy rằng các món ăn cập nhật đã được trả lại ở đây và bạn thấy rằng trong
món ăn này bạn thấy rằng bình luận mới đã được bao gồm trong đó.
Vì vậy, hãy sao chép toàn bộ điều này.
Bây giờ, chúng tôi sẽ cố gắng để có được nhận xét cụ thể mà chúng tôi vừa chèn.
Đối với nhận xét cụ thể đó, đây là id của nhận xét đó.
Vì vậy, hãy để tôi sao chép id cho nhận xét cụ thể đó.
Quay trở lại Postman,
hãy để tôi cố gắng lấy nhận xét cụ thể đó bằng cách thực hiện một thao tác get.
Ở đó bạn thấy rằng nhận xét cụ thể đó đã được truy xuất ở đây.
Bây giờ, nếu bạn đang cố gắng để làm một bài đăng trên đó, mà sẽ không làm việc
như vậy rõ ràng bạn thấy rằng các hoạt động bài không được phép trên đó.
Hãy thực hiện một hoạt động put,
trên nhận xét cụ thể đó.
Vì vậy, nếu tôi đã đưa hoạt động trong cơ thể,
tôi sẽ nói bình luận kiểm tra cập nhật.
Vì vậy, tôi sẽ cập nhật các lĩnh vực bình luận của nhận xét đó.
Nếu bạn đang nói để đưa vào đó bạn sẽ thấy rằng cho nhận xét cụ thể, nhận xét
bây giờ đã được cập nhật để phản ánh nhận xét thử nghiệm được cập nhật.
Vì vậy, bạn thấy rằng thao tác đặt trên trường nhận xét cũng hoạt động chính xác.
Hãy xóa nhận xét đó,
vì vậy tôi có thể xóa nhận xét và sau đó khi tôi xóa nhận xét, bạn sẽ
thấy nhận xét đó đã biến mất khỏi danh sách nhận xét.
Vì vậy, bạn thấy rằng thao tác xóa cũng hoạt động.
Hãy xóa tất cả các nhận xét.
Vì vậy, tôi sẽ đi vào và xóa tất cả các ý kiến.
Sau đó, bạn thấy rằng tất cả các nhận xét đã bị xóa,
và vì vậy bạn thấy rằng khu vực nhận xét bây giờ trống.
Vì vậy, bây giờ bạn có thể nhìn thấy chúng tất cả các get, put, post,
và xóa các hoạt động trên
các món dịch/Dishid/bình luận
và các món dịch/Dishid/bình luận/bình luận, R
EST API điểm cuối tất cả các công việc như mong đợi.
Vì vậy, với điều này, chúng tôi hoàn thành bài tập này.
Vì vậy, trong bài tập này, chúng tôi đã hoàn thành việc thực hiện các món ăn gạch chéo,
REST API điểm cuối và hỗ trợ tất cả các cách lên để
cho phép chúng tôi thao tác một món ăn duy nhất,
bộ sưu tập các món ăn,
một bình luận duy nhất và cũng là bộ sưu tập các ý kiến.
Đây là thời điểm tốt để bạn thực hiện một cam kết git với thông điệp,
express, REST API với Mongoose phần hai.