1. MongoDB 简介
MongoDB是一个开源的文档数据库,采用类似于JSON的BSON格式,将文档存储在集合中。相比于传统的关系型数据库,MongoDB具有更好的可扩展性和灵活性,支持分布式部署和易于水平扩展,在大数据量和高并发的场景下表现优异。
2. MongoDB 基础语句
2.1 数据库操作
创建数据库:使用 use
关键字创建一个新的数据库。
use dbname
查看当前数据库:使用 db
命令查看当前数据库。
db
列出所有数据库:使用 show
命令查看当前系统的所有数据库。
show dbs
删除数据库:使用 dropDatabase
命令删除指定的数据库。
db.dropDatabase()
2.2 集合操作
创建集合:使用 createCollection
命令创建一个新的集合。
db.createCollection("collection_name")
查看当前数据库的集合列表:使用 show
命令查看当前数据库的所有集合。
show collections
删除集合:使用 drop
命令删除指定的集合。
db.collection_name.drop()
2.3 文档操作
插入文档:使用 insert
命令向集合中插入文档。
db.collection_name.insert({"key1":"value1","key2":"value2"})
更新文档:使用 update
命令更新集合中的文档。
db.collection_name.update({"key":"value"}, {$set:{"key":"new_value"}})
删除文档:使用 remove
命令删除集合中符合条件的文档。
db.collection_name.remove({"key":"value"})
3. MongoDB 高级语句
3.1 查询操作
查询所有文档:使用 find
命令查询符合条件的所有文档。
db.collection_name.find()
查询指定条件的文档:使用 find
命令查询符合指定条件的文档。
db.collection_name.find({"key":"value"})
使用正则表达式查询:使用正则表达式查询包含指定字符串的文档。
db.collection_name.find({"key":/value/})
查询指定字段的文档:使用 find
命令查询指定字段的文档。
db.collection_name.find({"key":"value"},{"field1":1,"field2":1})
3.2 排序操作
按指定字段排序:使用 sort
命令按指定字段对查询结果进行升序或降序排序。
db.collection_name.find().sort({"key":1})
3.3 分页操作
指定查询结果集的起始位置和记录数量:使用 limit
和 skip
命令进行分页查询。
db.collection_name.find().limit(10).skip(20)
3.4 聚合操作
对指定字段进行聚合:使用 aggregate
命令对指定字段进行聚合操作。
db.collection_name.aggregate([{"$group":{"_id":"$key","field":{"$sum":1}}}])
根据指定条件对文档进行分组:使用 group
命令对符合指定条件的文档进行分组操作。
db.collection_name.group({"key":true},{"field1":0},{"count":0},{"field2":1,"field3":1},function(obj,prev){prev.count++;})
4. 总结
MongoDB是一款非常实用的文档数据库,具有很高的灵活性和可扩展性,对于大数据量和高并发的情况下表现优异。掌握MongoDB的语句可以轻松提高数据处理的效率,使得数据的操作更加便捷高效。