Thực thi một backend sử dụng Express, Mongoose ODM, và Jest (phần 9)

Định nghĩa tạo và cập nhật cuối cùng dates trong blog post

Bạn có thể nhận thấy rằng chúng ta đã không thêm bất cứ dates nào vào blog post của chúng ta. Nên, chúng ta không
biết khi nào một blog post được tạo hay khi nào nó được cập nhận lần cuối. Mongoose làm thực thi chức năng như vậy
đơn giản, hãy thử nó ra bây giờ:
1. Biên tập src/db/models/post.js file và thêm một đối số thứ hai vào new Schema() constructor. Đối số thứ hai chỉ
ra các tùy chọn cho schema. Ở đây chúng ta thiết lập cài đặt timestamps:true:

const postSchema = new Schema(

{

title: String,
author: String,
contents: String,
tags: [String],

},

{ timestamps: true },

)

2. Bây giờ tất cả việc chúng ta cần làm là tạo một blog post mới bằng cách chạy script ví dụ, và chúng ta sẽ thấy
rằng post cuối cùng được điền bây giờ có createdAt và updatedAt timestamps:

$ node src/example.js

3. Để xem liệu updatedAt timestamp có làm việc, hãy thử cập nhật blog post được tạo bằng cách sử dụng phương thức
findByIdAndUpdate. Lưu kết quả của await post.save() trong một hằng createdPost, sau đó thêm code sau gần cuối của
src/example.js file, trước lời gọi Post.find():

const createdPost = await post.save()
await Post.findByIdAndUpdate(createdPost._id, {

$set: { title: ‘Hello again, Mongoose!’ },

})

4. Chạy server lại một lần nữa để xem các blog posts đang được cập nhật:

$ node src/example.js

Bạn sẽ nhận 3 posts, và cái cuối trong số chúng bây giờ trông như sau:
update
Như chúng ta có thể thấy, sử dụng Mongoose làm làm việc với các tài liệu MongoDB thuận tiện hơn nhiều! Bây giờ chúng
ta vừa định nghĩa model CSDL của chúng ta, hãy bắt đầu phát triển (và viết các tests cho) các hàm dịch vụ!

Chia sẻ