Câu hỏi: SDN302 Server-Side development with NodeJS, Express, and MongoDB – Bộ ôn tập thi lại số 2
50 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 đúng thứ tự trong đề. Trang 3/3 — câu 41–50.
Danh sách câu hỏi
AngularNodeJSReactVueJSconst { MongoClient } = require('mongodb');
async function run() {
const client = new MongoClient('mongodb://localhost:27017');
try {
await client.connect();
const db = client.db('test');
const collection = db.collection('products');
await collection.insertOne({ name: 'Laptop', price: 1000 });
const result = await collection.findOne({ price: { $gte: 500 } });
console.log(result.name);
} finally {
await client.close();
}
}
run();Assume the `products` collection is initially empty.
Đáp án đúng: "Model.find().populate('field')". populate() là phương thức của Query trong Mongoose: nó thay ObjectId trong trường có ref bằng tài liệu được tham chiếu sau khi truy vấn đọc chạy xong, nên gắn sau find(), findOne() hay findById() là cách dùng chuẩn, ví dụ Post.find().populate('author'). "Model.insert().populate('field')" sai vì Mongoose không có Model.insert(); chèn dùng create() hay insertMany(), và thao tác chèn không trả Query để populate. "Model.delete().populate('field')" sai vì không có Model.delete(); xoá dùng deleteOne() hay deleteMany(), chúng trả về số tài liệu bị xoá chứ không có tài liệu để điền tham chiếu. "Model.update().populate('field')" sai vì update() đã bị bỏ ở các bản Mongoose mới, và lệnh cập nhật chỉ trả kết quả kiểu số bản ghi khớp và bị sửa; muốn nhận tài liệu sau khi sửa thì dùng findOneAndUpdate().
fs.readFileSync()fs.readFile()fs.open()fs.load()