Ngân hàng câu hỏi của chương

Câu hỏi: SDN302 Chương 5 - Mongoose ODM và Population

34 câu trắc nghiệm kèm lời giải của môn Server-Side development with NodeJS, Express, and MongoDB, xếp theo thứ tự nhập vào ngân hàng.

Danh sách câu hỏi

20/34 câuCòn 14
AIt limits the number of documents to be populated.
BIt works like the find method filter.
CIt filters the documents to be populated.
DIt sorts the documents to be populated
Lời giải
Trong phương thức populate() của Mongoose, match là một tùy chọn giúp lọc các tài liệu trước khi được populate. Nó hoạt động tương tự như phương thức find().filter() của Mongoose, giúp bạn chỉ lấy những tài liệu cần thiết mà không phải load toàn bộ dữ liệu. Điều này giúp tăng hiệu suất và giảm thiểu thời gian tải dữ liệu. Ngoài ra, match cũng có thể được sử dụng để lọc các tài liệu trước khi được populate, giúp bạn chỉ lấy những tài liệu cần thiết.
Mở trang câu hỏi này →
Aselect
Bpath
Cmodel
Dfield
Lời giải
Mongoose cung cấp phương thức populate() để lấy dữ liệu từ các mô hình khác. Các tùy chọn hợp lệ cho phương thức này bao gồm: - select: cho phép bạn chọn các trường cụ thể để lấy dữ liệu. - path: cho phép bạn chỉ định đường dẫn đến mô hình khác để lấy dữ liệu. - model: không phải là một tùy chọn hợp lệ cho phương thức populate(). Thay vào đó, bạn cần sử dụng path để chỉ định mô hình khác. - field: không phải là một tùy chọn hợp lệ cho phương thức populate(). Thay vào đó, bạn cần sử dụng select để chọn các trường cụ thể. Vì vậy, hai tùy chọn hợp lệ cho phương thức populate() là select và path.
Mở trang câu hỏi này →
3What are not use cases for Mongoose in Node.js?4 lựa chọnTrung bình56% trả lời đúng
AMongoose provides a rich set of query and aggregation methods that allow you to retrieve data from the database in a flexible and efficient way
BMongoose provides built-in validation for your data, allowing you to ensure that the data meets certain criteria before it is stored in the database
CMongoose allows you to define schemas for your MongoDB collections, which specify the fields and data types that can be stored in the collection.
DIf your data schema contains complex data structures, such as arrays of arrays or deeply nested objects, you may find that Mongoose's data modeling features are flexible enough to handle your data
Lời giải
Mongoose không phải là một công cụ phù hợp trong các trường hợp sau: Mongoose cung cấp một bộ công cụ tìm kiếm và tích hợp dữ liệu phong phú, cho phép bạn lấy dữ liệu từ cơ sở dữ liệu theo cách linh hoạt và hiệu quả. Mongoose cung cấp xác thực dữ liệu tích hợp sẵn, cho phép bạn đảm bảo rằng dữ liệu đáp ứng các tiêu chí nhất định trước khi lưu trữ vào cơ sở dữ liệu. Mongoose cho phép bạn định nghĩa các lược đồ dữ liệu cho các bộ sưu tập MongoDB của mình, chỉ định các trường và loại dữ liệu có thể được lưu trữ trong bộ sưu tập. Tuy nhiên, nếu lược đồ dữ liệu của bạn chứa các cấu trúc dữ liệu phức tạp, chẳng hạn như mảng mảng hoặc đối tượng sâu, bạn có thể thấy rằng các tính năng mô hình dữ liệu của Mongoose đủ linh hoạt để xử lý dữ liệu của bạn.
Mở trang câu hỏi này →
A{ type: mongoose.Schema.Types.Mixed, ref: 'User' }
B{ type: mongoose.Schema.Types.ObjectId, ref: 'User' }
C{ type: mongoose.Schema.Types.ObjectId, 'User' }
D{ type: mongoose.Schema.Types.ObjectId, reference: 'User' }
Lời giải
Để định nghĩa một tham chiếu trong một schema Mongoose, bạn cần sử dụng thuộc tính 'ref' hoặc 'type' và 'ref'. Trong đó, 'ref' là tên của model mà bạn muốn tham chiếu. Ví dụ, nếu bạn muốn tham chiếu đến model 'User', bạn có thể sử dụng '{ type: mongoose.Schema.Types.ObjectId, ref: 'User' }'. Điều này cho phép Mongoose tự động tạo ra mối quan hệ giữa các model.
Mở trang câu hỏi này →
5What is Mongoose in Node.js?4 lựa chọnDễ100% trả lời đúng
AA database
BA MongoDB object modeling tool
CAn HTTP client
DA web server framework
Lời giải
Mongoose là một công cụ mô hình hóa đối tượng MongoDB trong Node.js. Nó cho phép bạn tạo ra các mô hình dữ liệu phức tạp và tương tác với cơ sở dữ liệu MongoDB một cách dễ dàng. Mongoose cung cấp các tính năng như tạo và xóa dữ liệu, thực hiện các truy vấn phức tạp, và quản lý các mối quan hệ giữa các mô hình dữ liệu. Nó cũng hỗ trợ các tính năng như tạo index, thực hiện các truy vấn phân trang và tìm kiếm dữ liệu theo các điều kiện cụ thể. Mongoose là một công cụ mạnh mẽ và phổ biến trong việc xây dựng các ứng dụng Node.js sử dụng MongoDB.
Mở trang câu hỏi này →
AupdateOne
Bupdate
CfindOneAndUpdate
DfindByIdAndUpdate
Lời giải
Để tìm và cập nhật một tài liệu trong Mongoose, bạn có thể sử dụng các phương thức sau đây. Mongoose cung cấp các phương thức để tìm kiếm và cập nhật tài liệu một cách linh hoạt. Trong số các phương thức này, có ba phương thức được sử dụng để tìm và cập nhật một tài liệu: findOneAndUpdate, updateOne và findByIdAndUpdate. - findOneAndUpdate: Phương thức này được sử dụng để tìm kiếm một tài liệu dựa trên các điều kiện cụ thể và sau đó cập nhật tài liệu đó. Phương thức này cho phép bạn tìm kiếm và cập nhật tài liệu trong cùng một lần gọi. - updateOne: Phương thức này được sử dụng để cập nhật một tài liệu dựa trên các điều kiện cụ thể. Phương thức này chỉ cập nhật một tài liệu và không tìm kiếm tài liệu trước khi cập nhật. - findByIdAndUpdate: Phương thức này được sử dụng để tìm kiếm một tài liệu dựa trên ID và sau đó cập nhật tài liệu đó. Phương thức này cho phép bạn tìm kiếm và cập nhật tài liệu trong cùng một lần gọi. Vì vậy, để tìm và cập nhật một tài liệu trong Mongoose, bạn có thể sử dụng các phương thức findOneAndUpdate, findByIdAndUpdate.
Mở trang câu hỏi này →
7What type of relationship does Mongoose population create?4 lựa chọnDễ100% trả lời đúng
AOne-to-one or one-to-many
BMany-to-many only
CNo relationship
DSQL-style joins
Lời giải
Mongoose population là một kỹ thuật được sử dụng để tạo ra mối quan hệ giữa các mô hình trong một ứng dụng Node.js sử dụng MongoDB. Khi sử dụng population, Mongoose sẽ tự động tải dữ liệu từ các mô hình khác nhau và tạo ra một mối quan hệ giữa chúng. Điều này cho phép bạn truy cập vào dữ liệu từ các mô hình khác nhau một cách dễ dàng và hiệu quả. Population có thể được sử dụng để tạo ra mối quan hệ một-một (one-to-one) hoặc một-nhiều (one-to-many), nhưng không thể được sử dụng để tạo ra mối quan hệ nhiều-nhiều (many-to-many) hoặc các loại mối quan hệ khác. Vì vậy, câu trả lời đúng cho câu hỏi này là 'One-to-one hoặc one-to-many'.
Mở trang câu hỏi này →
APopulation is used to join data from multiple collections.
BPopulation is used to update multiple documents.
CPopulation can be done using the populate() method in a query.
DPopulation requires the use of schemas only.
Lời giải
Population trong Mongoose queries được sử dụng để kết nối dữ liệu từ nhiều bộ sưu tập. Điều này có thể được thực hiện bằng cách sử dụng phương thức populate() trong một truy vấn. Ví dụ, nếu bạn có một bộ sưu tập người dùng và một bộ sưu tập bài đăng, bạn có thể sử dụng population để kết nối người dùng với bài đăng của họ. Điều này cho phép bạn truy cập dữ liệu từ nhiều bộ sưu tập trong một truy vấn duy nhất. Population không được sử dụng để cập nhật nhiều bản ghi, mà thay vào đó nó được sử dụng để kết nối dữ liệu. Ngoài ra, population không chỉ được sử dụng với các schema, mà còn có thể được sử dụng với các dữ liệu không có schema. Tuy nhiên, việc sử dụng population với các schema có thể giúp bạn quản lý dữ liệu một cách hiệu quả hơn.
Mở trang câu hỏi này →
9Which method is used for population in Mongoose?4 lựa chọnDễ100% trả lời đúng
Apopulate()
Breference()
Cassociate()
Dlink()
Lời giải
Để truy cập dữ liệu liên quan đến một đối tượng trong MongoDB sử dụng Mongoose, chúng ta cần sử dụng phương thức populate(). Phương thức này cho phép chúng ta lấy dữ liệu từ các tài liệu liên quan và thêm vào đối tượng hiện tại. Ví dụ, nếu chúng ta có một tài liệu người dùng và một tài liệu liên quan đến địa chỉ của người dùng, chúng ta có thể sử dụng populate() để lấy địa chỉ của người dùng và thêm vào tài liệu người dùng. Phương thức populate() rất hữu ích khi chúng ta cần truy cập dữ liệu liên quan trong một ứng dụng.
Mở trang câu hỏi này →
10Which of the following are valid options for the populate() method in Mongoose?4 lựa chọnTrung bình67% trả lời đúng
Aselect
Bpath
Cmodel
Dfield
Lời giải
Mẹo chọn đáp án đúng cho câu hỏi này là bạn cần hiểu về cách sử dụng phương thức populate() trong Mongoose. Phương thức này cho phép bạn tải dữ liệu từ các mô hình khác vào mô hình hiện tại. Các tham số hợp lệ cho phương thức populate() bao gồm 'select' và 'path'. 'select' cho phép bạn chọn các trường dữ liệu muốn tải, trong khi 'path' cho phép bạn chỉ định đường dẫn đến mô hình khác.
Mở trang câu hỏi này →
APost.find().populate('author').lean();
BPost.find().populate('author').exec();
CPost.find().populate({ path: 'author' }).exec();
DPost.find().populate({ ref: 'User' }).exec();
Lời giải

Để populate tài liệu tham chiếu trong Mongoose, chúng ta cần sử dụng phương thức populate(). Có một số cách để thực hiện điều này. Trước hết, chúng ta có thể sử dụng phương thức find() và populate() như sau: Post.find().populate('author').exec();. Phương thức populate() sẽ tìm kiếm tài liệu tham chiếu 'author' và thêm nó vào kết quả tìm kiếm. Ngoài ra, chúng ta cũng có thể sử dụng đối tượng populate() với tham số path để chỉ định đường dẫn đến tài liệu tham chiếu:

Lời giải
Post.find().populate({
  path: 'author'
}

).exec();. Đây là hai cách phổ biến để populate tài liệu tham chiếu trong Mongoose.

Mở trang câu hỏi này →
Apopulate()
Bfind()
Clookup()
Daggregate()
Lời giải
Để populate các tài liệu tham chiếu trong Mongoose, chúng ta có thể sử dụng một số phương thức khác nhau. Phương thức populate() là một trong những phương thức được sử dụng rộng rãi nhất để thực hiện việc này. Nó cho phép chúng ta lấy dữ liệu từ các tài liệu tham chiếu và kết hợp chúng vào một tài liệu chính. Ví dụ, nếu chúng ta có một tài liệu User với một trường tham chiếu đến tài liệu Product, chúng ta có thể sử dụng populate() để lấy thông tin về sản phẩm mà người dùng đã mua. Ngoài ra, chúng ta cũng có thể sử dụng các phương thức khác như find(), lookup() và aggregate() để thực hiện việc populate, nhưng populate() là phương thức được khuyến khích sử dụng.
Mở trang câu hỏi này →
13What does the save() method do in Mongoose?4 lựa chọnDễ100% trả lời đúng
ADeletes a document
BValidates and inserts a document into the database
CUpdates a document in the database
DFinds a document in the database
Lời giải
Método save() trong Mongoose là một phương thức quan trọng trong việc tương tác với cơ sở dữ liệu MongoDB. Khi gọi phương thức này, nó sẽ kiểm tra dữ liệu được truyền vào xem có hợp lệ hay không. Nếu dữ liệu hợp lệ, nó sẽ thêm hoặc cập nhật một bản ghi mới vào cơ sở dữ liệu. Điều này bao gồm việc kiểm tra các ràng buộc và quy tắc đã được định nghĩa trong mô hình Mongoose. Phương thức save() cũng có thể được sử dụng để cập nhật một bản ghi hiện có trong cơ sở dữ liệu. Tóm lại, phương thức save() trong Mongoose có chức năng xác thực và thêm hoặc cập nhật một bản ghi vào cơ sở dữ liệu.
Mở trang câu hỏi này →
14How do you create a model in Mongoose?4 lựa chọnDễ75% trả lời đúng
Amongoose.define()
Bmongoose.Model()
Cmongoose.create()
Dmongoose.model()
Lời giải

Để tạo một mô hình trong Mongoose, bạn cần sử dụng phương thức mongoose.model(). Phương thức này cho phép bạn tạo một mô hình dựa trên một tập hợp các dữ liệu. Bạn cần cung cấp tên mô hình và một đối tượng mô tả cấu trúc dữ liệu. Ví dụ: const userSchema =

Lời giải
new mongoose.Schema({
  name: String, age: Number
}

); const User =

Lời giải
mongoose.model('User', userSchema);
Mở trang câu hỏi này →
15Which of the following is not a valid Mongoose data type?4 lựa chọnDễ100% trả lời đúng
AString
BNumber
CBoolean
DChar
Lời giải
Mongoose là một thư viện quan hệ cơ sở dữ liệu (ORM) được sử dụng để tương tác với cơ sở dữ liệu MongoDB. Trong Mongoose, có một số loại dữ liệu được hỗ trợ như String, Number, Boolean, Date, Array, Mixed, ObjectId, Buffer, Mixed và Map. Tuy nhiên, Char không phải là một loại dữ liệu được hỗ trợ bởi Mongoose. Thay vào đó, bạn có thể sử dụng String để lưu trữ các giá trị ký tự. Vì vậy, câu trả lời đúng cho câu hỏi này là Char.
Mở trang câu hỏi này →
A[String]
B{ type: String }
C{ type: Schema.Types.ObjectId, ref: 'SubDoc' }
D[Schema.Types.Mixed]
Lời giải
Để định nghĩa một tham chiếu đến một tài liệu con trong Mongoose, bạn cần sử dụng loại dữ liệu ObjectId và tham số ref. Tham số ref được sử dụng để chỉ định tên của tài liệu con mà bạn muốn tham chiếu đến. Ví dụ, nếu bạn muốn tham chiếu đến một tài liệu con có tên là 'SubDoc', bạn sẽ sử dụng { type: Schema.Types.ObjectId, ref: 'SubDoc' }. Điều này cho phép Mongoose tự động tạo ra các liên kết giữa các tài liệu và thực hiện các hoạt động CRUD (Tạo, Đọc, Cập nhật, Xóa) một cách dễ dàng.
Mở trang câu hỏi này →
17Which of the following are valid ways to define a Mongoose schema with timestamps?4 lựa chọnTrung bình60% trả lời đúng
Anew Schema({ fieldName: String }, { timestamps: true })
Bnew Schema({ fieldName: { type: String, timestamps: true } })
Cnew Schema({ fieldName: String }, { timestamps: false })
Dnew Schema({ fieldName: String }).set('timestamps', true)
Lời giải

Để định nghĩa một schema Mongoose với timestamps, có hai cách hợp lệ. Trước hết, bạn có thể sử dụng phương thức constructor với tham số thứ hai là một đối tượng chứa tùy chọn. Ví dụ:

Lời giải
new Schema({
  fieldName: String
}

, { timestamps: true }). Thứ hai, bạn có thể sử dụng phương thức set() để thêm tùy chọn timestamps vào schema đã tồn tại. Ví dụ:

Lời giải
new Schema({
  fieldName: String
}

).set('timestamps', true).

Mở trang câu hỏi này →
Đề bài
new Schema({
  name: String, email: String, age: Number, createAt: String
}

); const User = mongoose.model('User', userSchema); Which right document is saved in MongoDB with above mongoose?

Aage stored as Number 24 and createAt stored as String '20/4/2020' (consistent casting)
Bage stored as string '24' in one document (inconsistent)
Cage stored as string '24' in one document (inconsistent)
D(option cut off in image)
Lời giải
Mô tả về cách lưu trữ dữ liệu trong MongoDB khi sử dụng Mongoose. Trong đoạn mã trên, chúng ta có thể thấy rằng dữ liệu được lưu trữ trong MongoDB theo định dạng của Schema. Đối với trường 'age', nó được định nghĩa là một số nguyên (Number) nên khi lưu trữ dữ liệu, nó sẽ được lưu trữ dưới dạng số nguyên. Đối với trường 'createAt', nó được định nghĩa là một chuỗi (String) nên khi lưu trữ dữ liệu, nó sẽ được lưu trữ dưới dạng chuỗi. Vì vậy, khi chúng ta lưu trữ dữ liệu vào MongoDB, trường 'age' sẽ được lưu trữ dưới dạng số nguyên 24 và trường 'createAt' sẽ được lưu trữ dưới dạng chuỗi '20/4/2020'. Điều này cho thấy rằng dữ liệu được lưu trữ một cách nhất quán (consistent) với định dạng của Schema. Vì vậy, đáp án đúng là: 'age stored as Number 24 and createAt stored as String '20/4/2020' (consistent casting)'
Mở trang câu hỏi này →
19Which statements correctly describe the benefits of Mongoose population?4 lựa chọnDễ86% trả lời đúng
APopulation makes the code cleaner and more intuitive when dealing with related data.
BPopulation makes it harder to read and understand the code.
CPopulation reduces the need for multiple round trips to the database.
DPopulation can only be used with single-level documents.
Lời giải
Mongoose population là một tính năng mạnh mẽ giúp bạn dễ dàng quản lý dữ liệu liên quan trong MongoDB. Khi sử dụng population, bạn có thể dễ dàng truy cập và xử lý dữ liệu liên quan mà không cần phải viết nhiều mã code phức tạp. Điều này giúp code của bạn trở nên sạch sẽ và dễ hiểu hơn khi xử lý dữ liệu liên quan. Ngoài ra, population còn giúp giảm thiểu số lần yêu cầu đến cơ sở dữ liệu, từ đó cải thiện hiệu suất và tốc độ của ứng dụng. Tuy nhiên, population không phải là một tính năng bắt buộc và bạn có thể chọn sử dụng nó tùy thuộc vào nhu cầu của dự án.
Mở trang câu hỏi này →
20What is one of the main benefits of using Mongoose population?4 lựa chọnDễ100% trả lời đúng
AIt simplifies data retrieval by allowing related data to be retrieved in a single query.
BIt increases the complexity of the code.
CIt removes the need for schemas.
DIt disables validation.
Lời giải
Mongoose population là một tính năng mạnh mẽ giúp bạn có thể lấy dữ liệu liên quan một cách dễ dàng và hiệu quả. Khi sử dụng Mongoose population, bạn có thể lấy được dữ liệu liên quan trong một truy vấn duy nhất, thay vì phải thực hiện nhiều truy vấn riêng biệt. Điều này giúp giảm thiểu số lượng truy vấn và tăng tốc độ lấy dữ liệu, đồng thời cũng giúp giảm thiểu lượng dữ liệu phải xử lý. Ngoài ra, Mongoose population cũng giúp bạn có thể lấy được dữ liệu liên quan một cách linh hoạt và dễ dàng, giúp bạn có thể xây dựng các ứng dụng phức tạp và hiệu quả hơn.
Mở trang câu hỏi này →