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

Câu hỏi: SBA301 - Chương 8: MongoDB và Spring Data MongoDB

25 câu trắc nghiệm kèm lời giải của môn Tích hợp ứng dụng trang đơn với Spring Boot - Integrate single page application with Spring Boot, xếp theo thứ tự nhập vào ngân hàng.

Danh sách câu hỏi

20/25 câuCòn 5
1Which MongoDB command is used to retrieve documents from a collection?4 lựa chọnTrung bình67% trả lời đúng
Aupdate()
Bfind()
CinsertOne()
DdeleteMany()
Lời giải
Để lấy dữ liệu từ một collection trong MongoDB, bạn cần sử dụng lệnh find(). Lệnh này cho phép bạn tìm kiếm và trả về các tài liệu (documents) dựa trên các điều kiện cụ thể. Ví dụ, bạn có thể tìm kiếm các tài liệu có tên là 'John' hoặc các tài liệu có tuổi lớn hơn 18. Ngoài ra, lệnh find() còn cho phép bạn thực hiện các phép toán toán học, so sánh và các hàm khác để lọc dữ liệu.
Mở trang câu hỏi này →
AMongoRepository
BMongoClient
CMongoTemplate
DSimpleMongoRepository
Lời giải
Trong Spring Data MongoDB, có một số cách để tương tác với MongoDB. Tuy nhiên, nếu bạn muốn thực hiện các hoạt động cơ bản của MongoDB như insert, update, delete, thì bạn cần sử dụng một lớp mẫu (template) để thực hiện các hoạt động này. Lớp mẫu này được gọi là MongoTemplate. MongoTemplate cung cấp các phương thức để thực hiện các hoạt động cơ bản của MongoDB và cung cấp sự linh hoạt để tùy chỉnh các hoạt động này.
Mở trang câu hỏi này →
3What is a key advantage of using MongoTemplate?4 lựa chọnTrung bình57% trả lời đúng
AAutomatic generation of CRUD methods.
BFlexibility for complex queries and operations.
CSimplified data model definition.
DBuilt-in transaction management.
Lời giải
MongoTemplate là một công cụ mạnh mẽ trong Spring Data MongoDB, cung cấp nhiều lợi ích khi sử dụng. Một trong những lợi ích chính của MongoTemplate là tính linh hoạt trong việc thực hiện các truy vấn phức tạp và các hoạt động khác. Với MongoTemplate, bạn có thể dễ dàng tạo ra các truy vấn phức tạp bằng cách sử dụng các phương thức như find, update, remove và nhiều hơn nữa. Điều này giúp bạn có thể thực hiện các truy vấn và các hoạt động phức tạp mà không cần phải viết mã thủ công. Ngoài ra, MongoTemplate cũng cung cấp các tính năng như hỗ trợ các loại dữ liệu phức tạp, hỗ trợ các loại dữ liệu không xác định và hỗ trợ các tính năng khác của MongoDB. Tính linh hoạt của MongoTemplate giúp bạn có thể dễ dàng thích nghi với các yêu cầu phức tạp của dự án và tăng hiệu suất của ứng dụng.
Mở trang câu hỏi này →
4What is MongoDB Atlas?4 lựa chọnDễ100% trả lời đúng
AA local installation of MongoDB.
BA cloud-hosted database service by MongoDB.
CA Java driver for MongoDB.
DA tool for managing relational databases.
Lời giải
MongoDB Atlas là một dịch vụ cơ sở dữ liệu được lưu trữ trên đám mây do MongoDB cung cấp. Nó cho phép người dùng tạo và quản lý các cơ sở dữ liệu MongoDB trên các nền tảng đám mây như AWS, Google Cloud và Azure. Với MongoDB Atlas, người dùng có thể dễ dàng tạo và cấu hình các cơ sở dữ liệu, cũng như quản lý quyền truy cập và bảo mật. Ngoài ra, MongoDB Atlas cũng cung cấp các tính năng tự động hóa và giám sát để giúp người dùng tối ưu hóa hiệu suất và bảo mật của cơ sở dữ liệu. Điều này làm cho MongoDB Atlas trở thành một lựa chọn phổ biến cho các ứng dụng và dự án cần một cơ sở dữ liệu mạnh mẽ và linh hoạt.
Mở trang câu hỏi này →
ATo specify the local database path.
BTo authenticate the application with the MongoDB Atlas cluster.
CTo configure the JDBC driver.
DTo define the data model.
Lời giải
Khi cấu hình chuỗi kết nối cho MongoDB Atlas trong Spring Boot, mục đích bao gồm tên đăng nhập và mật khẩu là để xác thực ứng dụng với cụm MongoDB Atlas. Điều này giúp đảm bảo rằng ứng dụng có quyền truy cập vào dữ liệu trong cụm MongoDB Atlas. Khi bạn bao gồm tên đăng nhập và mật khẩu trong chuỗi kết nối, ứng dụng sẽ sử dụng chúng để xác thực với MongoDB Atlas và truy cập vào dữ liệu. Điều này là rất quan trọng để bảo vệ dữ liệu của bạn khỏi truy cập không hợp lệ.
Mở trang câu hỏi này →
6What is the purpose of the @DBRef annotation in Spring Data MongoDB?4 lựa chọnDễ100% trả lời đúng
ATo map embedded documents
BTo index a document
CTo define a relationship between documents via reference
DTo ignore the field during persistence
Lời giải
Trong Spring Data MongoDB, @DBRef là một annotation được sử dụng để định nghĩa mối quan hệ giữa các tài liệu MongoDB thông qua tham chiếu. Khi sử dụng @DBRef, bạn có thể định nghĩa một tài liệu tham chiếu đến một tài liệu khác trong cùng một cơ sở dữ liệu. Điều này cho phép bạn thực hiện các truy vấn phức tạp và quản lý mối quan hệ giữa các tài liệu một cách hiệu quả. Ví dụ, nếu bạn có một tài liệu người dùng và một tài liệu thông tin liên hệ, bạn có thể sử dụng @DBRef để định nghĩa mối quan hệ giữa hai tài liệu này. Điều này giúp bạn có thể truy vấn thông tin liên hệ của một người dùng một cách dễ dàng.
Mở trang câu hỏi này →
7How does MongoDB ensure high availability with replication?4 lựa chọnDễ100% trả lời đúng
ABy using SQL mirroring
BBy using cron jobs for backup
CThrough replica sets with automatic failover
DBy distributing indexes across servers
Lời giải
MongoDB đảm bảo tính sẵn sàng cao bằng cách sử dụng các tập bản sao (replica sets) với khả năng tự động chuyển đổi (automatic failover). Tập bản sao là một nhóm các máy chủ MongoDB hoạt động cùng nhau để lưu trữ dữ liệu và đảm bảo tính sẵn sàng cao. Khi một máy chủ trong tập bản sao gặp sự cố, các máy chủ khác trong tập bản sao sẽ tự động chuyển đổi sang trạng thái hoạt động, đảm bảo dữ liệu vẫn được truy cập và cập nhật một cách liên tục. Điều này giúp ngăn chặn sự cố mất dữ liệu và đảm bảo tính sẵn sàng cao của hệ thống.
Mở trang câu hỏi này →
8In Spring Boot, which starter dependency is used to include MongoDB support?4 lựa chọnDễ100% trả lời đúng
Aspring-boot-mongodb
Bspring-boot-starter-data-mongodb
Cspring-boot-starter-data-jpa
Dspring-boot-starter-mongo
Lời giải
Để thêm hỗ trợ MongoDB vào ứng dụng Spring Boot, bạn cần thêm starter dependency có tên là spring-boot-starter-data-mongodb vào file pom.xml hoặc build.gradle của dự án. Starter này bao gồm các thư viện cần thiết để kết nối với MongoDB và thực hiện các hoạt động CRUD (Create, Read, Update, Delete) trên dữ liệu. Ngoài ra, nó cũng cung cấp các tính năng như hỗ trợ các loại dữ liệu khác nhau, kiểm tra dữ liệu, và các công cụ khác để giúp bạn quản lý dữ liệu hiệu quả hơn. Khi thêm starter này vào dự án, bạn có thể sử dụng các lớp như MongoTemplate để thực hiện các hoạt động CRUD và các phương thức khác để tương tác với MongoDB.
Mở trang câu hỏi này →
9Which command is used to insert a single document into a collection?4 lựa chọnDễ80% trả lời đúng
Adb.collection.create()
Bdb.collection.insertOne()
Cdb.collection.insertDocument()
Ddb.collection.add()
Lời giải

Để thêm một bản ghi duy nhất vào một bộ sưu tập trong MongoDB, bạn cần sử dụng lệnh insertOne(). Lệnh này cho phép bạn thêm một bản ghi mới vào bộ sưu tập đã tồn tại. Ví dụ, nếu bạn muốn thêm một bản ghi mới vào bộ sưu tập 'users', bạn có thể sử dụng lệnh

Lời giải
db.users.insertOne({
  name: 'John Doe', age: 30
}

). Lệnh insertOne() rất hữu ích khi bạn muốn thêm một bản ghi mới vào bộ sưu tập mà không cần phải thêm nhiều bản ghi cùng lúc. Ngoài ra, lệnh này cũng giúp bạn kiểm soát được dữ liệu được thêm vào bộ sưu tập, tránh được các lỗi nhập dữ liệu không mong muốn.

Mở trang câu hỏi này →
10What does the MongoTemplate class provide in Spring Data MongoDB?4 lựa chọnDễ100% trả lời đúng
AMapping of SQL queries to documents
BAutomatic index creation
CA low-level interface to MongoDB operations
DAutomatic data validation
Lời giải
MongoTemplate là một lớp cung cấp một giao diện cao cấp để tương tác với MongoDB trong ứng dụng Spring Data MongoDB. Nó cung cấp một số tính năng quan trọng như ánh xạ các câu lệnh SQL sang tài liệu, tự động tạo chỉ mục, tạo một giao diện thấp cấp để thực hiện các hoạt động MongoDB và tự động kiểm tra dữ liệu. Tuy nhiên, trong các lựa chọn trên, chỉ có một lựa chọn chính xác. Lựa chọn "A low-level interface to MongoDB operations" là đúng vì MongoTemplate cung cấp một giao diện thấp cấp để thực hiện các hoạt động MongoDB.
Mở trang câu hỏi này →
11Which class is used to create complex criteria queries with MongoTemplate?4 lựa chọnDễ71% trả lời đúng
ACriteria
BQueryDSL
CMongoQuery
DCriteriaBuilder
Lời giải
Để tạo các câu hỏi phức tạp với MongoTemplate, bạn cần sử dụng lớp Criteria. Criteria cho phép bạn xây dựng các câu hỏi phức tạp bằng cách sử dụng các phương thức như and(), or(), not(). Điều này giúp bạn tạo ra các câu hỏi phức tạp mà không cần phải viết mã phức tạp.
Mở trang câu hỏi này →
12Which annotation is used to define a MongoDB document in Spring Data MongoDB?4 lựa chọnDễ100% trả lời đúng
A@Collection
B@MongoEntity
C@Document
D@Entity
Lời giải
Để định nghĩa một tài liệu MongoDB trong Spring Data MongoDB, bạn cần sử dụng annotation @Document. Annotation này được sử dụng để chỉ định tên của collection trong cơ sở dữ liệu MongoDB. Ví dụ, nếu bạn muốn tạo một tài liệu có tên là 'users', bạn có thể sử dụng @Document(collection = "users") trên class của bạn. Ngoài ra, bạn cũng có thể sử dụng @Document mà không cần chỉ định tên collection, trong trường hợp đó, tên collection sẽ được tự động tạo dựa trên tên của class.
Mở trang câu hỏi này →
13Which interface in Spring Data MongoDB is used to perform CRUD operations?4 lựa chọnDễ100% trả lời đúng
AJpaRepository
BMongoRepository
CRepository
DCrudRepository
Lời giải
Để thực hiện các hoạt động CRUD (Tạo, Đọc, Sửa, Xóa) trong Spring Data MongoDB, bạn cần sử dụng interface MongoRepository. Interface này cung cấp các phương thức mặc định để thực hiện các hoạt động CRUD trên các đối tượng MongoDB. Ví dụ, bạn có thể sử dụng phương thức save() để tạo mới một đối tượng, find() để đọc một đối tượng, update() để sửa một đối tượng và delete() để xóa một đối tượng. Ngoài ra, bạn cũng có thể sử dụng các phương thức khác như findById(), findAll(), existsById() để thực hiện các hoạt động khác trên các đối tượng MongoDB.
Mở trang câu hỏi này →
14Which of the following best describes a compound index?4 lựa chọnTrung bình43% trả lời đúng
AAn index with a TTL (Time To Live)
BA temporary index created at runtime
CAn index on an embedded document only
DAn index on multiple fields in a document
Lời giải
Một chỉ số hợp chất (compound index) là một loại chỉ số được tạo trên nhiều trường (field) trong một tài liệu (document). Nó cho phép MongoDB tìm kiếm và sắp xếp dữ liệu dựa trên nhiều tiêu chí khác nhau. Ví dụ, nếu bạn có một tài liệu có các trường 'tên', 'tuổi' và 'thành phố', một chỉ số hợp chất có thể được tạo trên các trường này để tìm kiếm và sắp xếp dữ liệu dựa trên các tiêu chí này. Chỉ số hợp chất giúp tăng tốc độ tìm kiếm và sắp xếp dữ liệu, đặc biệt là khi dữ liệu lớn và phức tạp.
Mở trang câu hỏi này →
Aspring.data.mongo.name
Bspring.mongodb.dbname
Cspring.data.mongodb.database
Dspring.mongo.database
Lời giải
Để đặt tên cơ sở dữ liệu MongoDB trong ứng dụng, bạn cần sử dụng thuộc tính thích hợp trong file application.properties. Trong các lựa chọn đã cho, thuộc tính nào được sử dụng để đặt tên cơ sở dữ liệu MongoDB?
Mở trang câu hỏi này →
16When using MongoTemplate, how would you insert a new document?4 lựa chọnDễ75% trả lời đúng
AmongoTemplate.create(object)
BmongoTemplate.insert(object)
CmongoTemplate.save(object)
DmongoTemplate.add(object)
Lời giải
Khi sử dụng MongoTemplate, bạn muốn thêm một tài liệu mới vào cơ sở dữ liệu MongoDB. Để thực hiện điều này, bạn cần sử dụng phương thức insert() của MongoTemplate. Phương thức này cho phép bạn thêm một tài liệu mới vào cơ sở dữ liệu. Ví dụ, bạn có thể sử dụng nó như sau: mongoTemplate.insert(object). Phương thức này sẽ tự động tạo một tài liệu mới và thêm nó vào cơ sở dữ liệu. Ngoài ra, bạn cũng có thể sử dụng phương thức save() để thêm hoặc cập nhật một tài liệu. Tuy nhiên, phương thức save() chỉ được sử dụng khi bạn muốn thêm hoặc cập nhật một tài liệu đã tồn tại. Vì vậy, phương thức insert() là lựa chọn tốt nhất khi bạn muốn thêm một tài liệu mới.
Mở trang câu hỏi này →
17Which of the following is used to create an index on a field in MongoDB?4 lựa chọnTrung bình50% trả lời đúng
Adb.collection.setIndex()
Bdb.collection.index()
Cdb.collection.createIndex()
Ddb.collection.makeIndex()
Lời giải

Để tạo chỉ mục trên một trường trong MongoDB, bạn cần sử dụng phương thức createIndex(). Phương thức này cho phép bạn tạo chỉ mục trên một hoặc nhiều trường trong một collection. Syntax của phương thức createIndex() như sau: db.collection.createIndex(keys, options). Trong đó, keys là đối tượng chứa tên và giá trị của các trường bạn muốn tạo chỉ mục, options là đối tượng chứa các tùy chọn cho chỉ mục. Ví dụ, bạn muốn tạo chỉ mục trên trường 'name' trong collection 'users', bạn có thể sử dụng lệnh sau:

Lời giải
db.users.createIndex({
  name: 1
}

). Phương thức createIndex() cho phép bạn tạo chỉ mục trên các trường khác nhau, bao gồm cả trường có giá trị là mảng hoặc đối tượng.

Mở trang câu hỏi này →
A$merge
B$match
C$unwind
D$lookup
Lời giải
Trong MongoDB, $lookup là một trong những phương thức cho phép kết hợp các tài liệu từ hai bộ sưu tập. Nó cho phép bạn thực hiện các phép join như inner join, left outer join, right outer join và full outer join. $lookup sử dụng một trong các phương thức sau để thực hiện phép join: let, pipeline và from.
Mở trang câu hỏi này →
19Which of the following is TRUE about MongoDB schema?4 lựa chọnDễ100% trả lời đúng
AMongoDB supports relational schema only
BCollections in MongoDB can have documents with different fields
CMongoDB requires a fixed schema
DAll fields in documents must be predefined
Lời giải
MongoDB không hỗ trợ cấu trúc dữ liệu quan hệ như các cơ sở dữ liệu truyền thống. Thay vào đó, MongoDB sử dụng mô hình NoSQL, cho phép lưu trữ dữ liệu dưới dạng các tài liệu (documents) trong các tập hợp (collections). Mỗi tài liệu có thể có các trường (fields) khác nhau, cho phép tạo ra các cấu trúc dữ liệu linh hoạt và dễ dàng mở rộng. Điều này khác biệt với các cơ sở dữ liệu quan hệ, nơi mà mỗi bảng (table) phải có một cấu trúc cố định và các trường phải được định nghĩa trước khi tạo bảng. Vì vậy, câu trả lời đúng là "Collections in MongoDB có thể có tài liệu với các trường khác nhau".
Mở trang câu hỏi này →
20Which of the following is used to return only selected fields in a MongoDB query?4 lựa chọnTrung bình40% trả lời đúng
A$select
BReturnFields
CProjection
DSubset
Lời giải
Để trả về chỉ các trường được chọn trong một truy vấn MongoDB, bạn cần sử dụng một trong các phương thức sau.
Mở trang câu hỏi này →