MongoDB 是一款非关系型数据库,其中的数据存储在集合(collection)中。集合是 MongoDB 中的一种数据结构,它类似于关系型数据库中的表。在 MongoDB 中,集合是一组文档(document)的集合,每个文档都是一个由键值对组成的数据结构。
数据库
在 MongoDB 中,数据库(database)是集合的容器。一个 MongoDB 实例可以包含多个数据库,每个数据库都有自己的集合。数据库可以通过以下方式创建:
// 创建名为 mydatabase 的数据库 use mydatabase
使用 use 命令创建数据库后,可以使用 db 命令查看当前数据库:
db
输出结果为:
mydatabase
此时,mydatabase 数据库已经创建成功。
集合
集合是 MongoDB 中的一种数据结构,它类似于关系型数据库中的表。集合是一组文档(document)的集合,每个文档都是一个由键值对组成的数据结构。集合可以通过以下方式创建:
// 在 mydatabase 数据库中创建名为 mycollection 的集合
db.createCollection("mycollection")使用 db.createCollection() 命令创建集合后,可以使用 show collections 命令查看当前数据库中的所有集合:
show collections
输出结果为:
mycollection
此时,mycollection 集合已经创建成功。
数据库与集合的关系
数据库是集合的容器,一个 MongoDB 实例可以包含多个数据库,每个数据库都有自己的集合。在 MongoDB 中,集合是一个没有结构的文档集合,每个文档都可以有不同的结构和字段。因此,在设计 MongoDB 数据库时,需要考虑以下几点:
- 数据库应该包含多个集合,每个集合应该包含相似的文档。
- 文档应该包含相似的字段,但不需要具有相同的结构。
例如,假设我们正在设计一个博客网站的数据库。我们可以创建以下集合:
users:包含所有用户的信息,如用户名、电子邮件地址和密码等。posts:包含所有博客文章的信息,如标题、内容、作者和发布日期等。comments:包含所有博客评论的信息,如评论内容、评论者和评论日期等。
每个集合都包含不同的文档,但它们都属于同一个数据库。
示例代码
以下是在 Node.js 中使用 MongoDB 的示例代码:
// www.javascriptcn.com code example
const MongoClient = require('mongodb').MongoClient;
// 连接到 MongoDB 数据库
MongoClient.connect('mongodb://localhost:27017/mydatabase', function(err, db) {
if (err) throw err;
console.log("数据库已创建!");
// 在 mydatabase 数据库中创建名为 mycollection 的集合
db.createCollection("mycollection", function(err, res) {
if (err) throw err;
console.log("集合已创建!");
// 向 mycollection 集合中插入一条文档
var myobj = { name: "菜鸟教程", url: "www.runoob.com" };
db.collection("mycollection").insertOne(myobj, function(err, res) {
if (err) throw err;
console.log("文档插入成功");
// 查询 mycollection 集合中的所有文档
db.collection("mycollection").find({}).toArray(function(err, result) {
if (err) throw err;
console.log(result);
// 关闭数据库连接
db.close();
});
});
});
});该示例代码连接到名为 mydatabase 的 MongoDB 数据库,然后创建名为 mycollection 的集合,并向该集合中插入一条文档。最后,该示例代码查询 mycollection 集合中的所有文档,并输出结果。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67d14194a941bf71342a8d4b