MongoDB是一种非关系型数据库,它以文档的形式存储数据,而不是传统的表格。MongoDB的文档是一种类似于JSON的数据格式,可以包含多种类型的值,如字符串、数字、数组、对象等。MongoDB的文档可以灵活地表示复杂的数据结构,而不需要预先定义表的模式。
在MongoDB中,文档被组织在集合(collection)中,集合相当于关系型数据库中的表(table)。集合可以包含任意数量和类型的文档,而不需要遵循固定的结构。集合也可以被分片(shard)和复制(replicate),以提高数据库的性能和可用性。
要使用MongoDB创建和管理集合,我们需要安装MongoDB数据库,并启动mongod服务。然后,我们可以使用mongo命令行工具或者其他图形界面工具来连接数据库,并执行相关的操作。
创建集合
要创建一个集合,我们可以使用db.createCollection()方法,指定集合的名称和可选的参数。例如:
capped: true, // 是否为固定大小的集合
size: 100000, // 集合的最大字节数
max: 1000 // 集合的最大文档数
如果我们不指定参数,MongoDB会自动创建一个普通的集合。例如:
如果我们直接向一个不存在的集合插入文档,MongoDB也会自动创建该集合。例如:
这样就会创建一个名为orders的集合,并插入一条文档。
管理集合
要查看数据库中有哪些集合,我们可以使用db.getCollectionNames()方法。例如:
要查看集合的状态信息,我们可以使用db.collection.stats()方法。例如:
要修改集合的属性,我们可以使用db.collection.reIndex()方法或者db.collection.renameCollection()方法。例如:
db.users.reIndex() // 重建索引
db.users.renameCollection(\"customers\") // 重命名集合
要删除一个集合,我们可以使用db.collection.drop()方法。例如:
操作集合
要向集合中插入文档,我们可以使用db.collection.insert()方法或者db.collection.insertMany()方法。例如:
要从集合中查询文档,我们可以使用db.collection.find()方法或者db.collection.findOne()方法。例如:
db.users.find({age: {$gt: 25}}) // 查询年龄大于25的用户
db.users.findOne({name: \"Alice\"}) // 查询名字为Alice的用户
要更新集合中的文档,我们可以使用db.collection.update()方法或者db.collection.updateMany()方法。