MongoDB数据库使用(三)
这篇文章主要介绍了MongoDB数据库的使用,包括安装可视化编辑器、基本操作概念、CRUD操作以及如何进行数据的插入、查询、修改和删除。
在使用之前,你可以安装一个可视化编辑器 这样就不需要在命令行界面操作了。
推荐使用:Navicat Premium
在MongoDB中,数据库和集合都不需要手动创建。当我们创建文档时,如果文档所在的集合或数据库不存在,MongoDB会自动创建数据库和集合。
show dbs
或 show databases
use xxx
xxx
应替换为目标数据库的名称。db
show collections
db.collections.find()
MongoDB允许您向集合中插入文档,可以使用以下方法:
db.<collection>.insert()
可以向集合中插入一个或多个文档。_id
属性,MongoDB会自动为文档添加 _id
属性,该属性用作文档的唯一标识。_id
,则确保它的唯一性。jsxdb.stus.insert(
{
name: "猪八戒",
age: 28,
gender: "男"
}
);
db.collection.insertOne()
方法可以插入单个文档对象。jsxdb.stus.insertOne(
{
name: "猪八戒",
age: 28,
gender: "男"
}
);
db.collection.insertMany()
方法可以插入多个文档对象,这些文档对象以数组的形式传递。jsxdb.stus.insertMany([
{
name: "沙和尚",
age: 38,
gender: "男"
},
{
name: "白骨精",
age: 16,
gender: "女"
},
{
name: "蜘蛛精",
age: 14,
gender: "女"
}
]);
_id
属性,前提是要确保它的唯一性。jsxdb.stus.insert(
{
_id: "hello",
name: "猪八戒",
age: 28,
gender: "男"
}
);
jsxdb.stus.insert([
{name:"沙和尚",age:38,gender:"男"},
{name:"白骨精",age:16,gender:"女"},
{name:"蜘蛛精",age:14,gender:"女"}
]);
db.collection.find()
方法。jsxdb.stus.find();
jsxdb.collection.find({})
find({})
查询可以获取集合中的所有文档,其中 {}
表示查询条件为空,意味着返回所有文档。**数组的形式返回
** 。jsxdb.collection.find({属性: 值})
find()
方法可以根据指定的条件查询文档,其中 {属性: 值}
表示要查询属性等于指定值的文档。**数组的形式返回
** 。jsxdb.stus.find({_id: "hello"});
db.stus.find({age: 16, name: "白骨精"});
db.stus.find({age: 28});
jsxdb.collection.findOne({属性: 值})
findOne()
方法可以查询符合条件的第一个文档,而不是返回所有匹配的文档。jsxdb.stus.findOne({age: 28});
jsxdb.collection.find({}).count()
count()
方法可以查询集合中所有结果的数量。在 MongoDB 中,您可以使用 db.collection.update()
方法来进行数据更新操作。以下是一些关于更新操作的重要概念和方法:
db.collection.update(查询条件, 新对象)
: 默认情况下,update()
方法会使用新对象来替换匹配查询条件的旧对象。$set
:用于修改文档中的指定属性。$unset
:用于删除文档的指定属性。db.collection.updateMany()
: 用于同时修改多个符合条件的文档。db.collection.updateOne()
: 用于修改一个符合条件的文档。db.collection.replaceOne()
: 用于替换一个符合条件的文档。jsx// 查询所有文档
db.stus.find()
// 使用update()替换年龄属性
db.stus.update(
{ name: "沙和尚" },
{ age: 28 }
)
// 使用$set修改性别和地址属性
db.stus.update(
{ "_id": ObjectId("5f86edc1048d21081bd45f3b") },
{
$set: {
gender: "男",
address: "流沙河"
}
}
)
// 使用$unset删除地址属性
db.stus.update(
{ "_id": ObjectId("5f86edc1048d21081bd45f3b") },
{
$unset: {
address: "流沙河"
}
}
)
// 使用updateMany()修改多个文档的地址属性
db.stus.updateMany(
{ name: "我很帅" },
{
$set: {
address: "高老庄"
}
}
)
// 使用update()和multi:true修改多个文档的地址属性
db.stus.update(
{ name: "我很帅" },
{
$set: {
address: "呵呵呵"
}
},
{
multi: true
}
)
// 查询所有文档
db.stus.find()
在 MongoDB 中,您可以使用不同的方法来删除文档或集合。以下是一些关于删除操作的重要概念和方法:
db.collection.remove()
: 可以根据条件删除文档,传递条件的方式和 find()
方法一样。默认情况下,它会删除符合条件的所有文档,但您可以传递第二个参数为 true
来只删除一个文档。如果只传递一个 {}
作为参数,将删除集合中的所有文档。db.collection.deleteOne()
: 用于删除一个符合条件的文档。db.collection.deleteMany()
: 用于删除多个符合条件的文档。db.collection.drop()
: 用于删除整个集合,如果删除的是最后一个集合,数据库也会被删除。db.dropDatabase()
: 用于删除整个数据库。jsx// 删除年龄为 28 的一个文档
db.stus.remove({ age: 28 }, true)
// 删除集合中的所有文档(性能差)
db.stus.remove({})
// 删除集合 stus
db.stus.drop()
// 删除整个数据库
db.dropDatabase()
本文作者:LiuXueChao
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!