面试题答案
一键面试deleteOne
和deleteMany
方法的区别:deleteOne
:该方法用于删除集合中符合指定条件的第一个文档。例如,如果集合中有多个文档满足条件{name: "John"}
,deleteOne
只会删除第一个匹配的文档。deleteMany
:此方法会删除集合中所有符合指定条件的文档。继续以上面的例子,如果使用deleteMany
并传入条件{name: "John"}
,则集合中所有名字为“John”的文档都会被删除。
- 使用
deleteMany
方法删除年龄大于30岁的所有学生文档的代码(以Node.js为例):
const { MongoClient } = require('mongodb');
// 连接字符串
const uri = "mongodb://localhost:27017";
const client = new MongoClient(uri);
async function deleteStudents() {
try {
await client.connect();
const database = client.db('test');
const students = database.collection('students');
const result = await students.deleteMany({ age: { $gt: 30 } });
console.log(result.deletedCount + " 个文档被删除");
} finally {
await client.close();
}
}
deleteStudents().catch(console.error);
在Python中:
from pymongo import MongoClient
client = MongoClient('mongodb://localhost:27017')
db = client['test']
students = db['students']
result = students.delete_many({"age": {"$gt": 30}})
print(result.deleted_count, "个文档被删除")