MongoDB基本的增删改
连接到MongoDB
首先,确保MongoDB已经安装并正在运行。然后使用MongoDB的客户端工具(如Mongo Shell)连接到数据库。
mongo
选择数据库
在连接后,可以选择要操作的数据库。如果数据库不存在,MongoDB会自动创建。
use mydb
插入数据
3.1 插入单个文档
要插入单个文档,可以使用insertOne方法:
Copy code
db.mycollection.insertOne({
"name": "John",
"age": 30,
"email": "john@example.com"
})
3.2 插入多个文档
要插入多个文档,可以使用insertMany方法:
Copy code
db.mycollection.insertMany([
{
"name": "Alice",
"age": 25,
"email": "alice@example.com"
},
{
"name": "Bob",
"age": 28,
"email": "bob@example.com"
}
])
查询数据
4.1 查询所有文档
要查询集合中的所有文档,可以使用find方法:
Copy code
db.mycollection.find()
4.2 条件查询
可以使用条件查询来筛选文档:
Copy code
db.mycollection.find({"age": {$gte: 25}})
更新数据
要更新文档,可以使用updateOne或updateMany方法:
5.1 更新单个文档
Copy code
db.mycollection.updateOne(
{"name": "John"},
{$set: {"age": 31}}
)
5.2 更新多个文档
Copy code
db.mycollection.updateMany(
{"age": {$lt: 30}},
{$set: {"status": "young"}}
)
删除数据
要删除文档,可以使用deleteOne或deleteMany方法:
6.1 删除单个文档
Copy code
db.mycollection.deleteOne({"name": "Alice"})
6.2 删除多个文档
Copy code
db.mycollection.deleteMany({"status": "young"})
断开连接
最后,不要忘记在完成操作后断开与数据库的连接:
Copy code
quit()
关于save和update的一些说明:
save方法:
-
save方法可以用于插入新文档或更新已存在文档的操作。如果提供的文档包含_id字段,并且数据库中已存在具有相同id值的文档,save方法将更新现有文档,否则将插入新文档。
使用save方法时,需要传递整个文档对象,而不仅仅是要更新的字段。
save方法在某些情况下可能不够灵活,因为它要求提供整个文档。 -
update方法:
updateOne和updateMany方法提供了更灵活的方式来更新文档。它们允许指定要更新的条件,并且只更新满足条件的文档。
使用update方法时,只需提供要更新的字段和相应的操作,而不需要整个文档。这使得更新操作更加精确和高效。
例子
// 插入一条新文档
db.mycollection.save({
"name": "John",
"age": 30,
"email": "john@example.com"
});
// 更新匹配条件的第一个文档
db.mycollection.update(
{"name": "John"},
{$set: {"age": 31}}
);