MongoDB学习笔记:从基础到关系查询

需积分: 12 6 下载量 179 浏览量 更新于2024-09-07 1 收藏 13KB TXT 举报
"这是一份关于MongoDB的学习笔记,主要涵盖了基础操作,如数据库的创建、集合的管理、数据的插入、查询、更新和删除,以及一些高级查询技巧,包括批量插入和关系查询。笔记作者参考了李兴华老师的教学视频进行整理。" MongoDB是一种流行的NoSQL数据库系统,以其灵活性、高性能和易用性而受到广大开发者的欢迎。在MongoDB中,数据以JSON格式存储,便于处理结构化和半结构化的数据。 基础篇: 在MongoDB中,`use mldn`命令用来切换到名为mldn的数据库,但该命令并不会立即创建数据库,只有当首次保存数据时,数据库才会真正创建。创建集合是通过`db.createCollection("emp")`来实现的,执行此命令后,集合才会存在于数据库中。`show databases`用于列出所有可用的数据库,而`show collections`则可以查看当前数据库中的所有集合。例如,`db.dept.insert({"deptno":10,"dname":"财务部"})`用于向名为dept的集合中插入一条数据。查询集合中的所有数据使用`db.dept.find()`,删除数据则是`db.dept.remove({"id":""})`,更新数据则可以通过`db.dept.update({"id":""}, deptData)`,其中deptData是新数据对象。若要删除集合,调用`db.dept.drop()`,删除整个数据库则使用`db.dropDatabase()`。 批量插入: 在MongoDB中,可以使用循环进行批量数据插入,如示例所示,插入10000条数据,每条数据的url字段为"mldn-编号"。 数据查询: 查询特定条件的数据,如查找url为"www.mldn.cn"的记录,可以使用`db.infos.find({"url":"www.mldn.cn"})`。若要隐藏指定字段,可以在find查询中指定,例如`{"_id":0}`表示在查询结果中不显示_id字段。 关系查询: MongoDB支持丰富的查询运算符,如:`$gt`(大于),`$lt`(小于),`$gte`(大于等于),`$lte`(小于等于)和`$ne`(不等于)。例如,以下代码展示了如何使用这些运算符来筛选年龄大于19且分数不等于89的学生记录: ```javascript db.student.find({ "age": {$gt: 19}, "score": {$ne: 89} }); ``` 这仅仅是MongoDB功能的冰山一角,实际上,它还支持聚合框架、索引、复制集、分片等高级特性,适用于各种规模和复杂性的应用场景。学习并掌握MongoDB能帮助开发者更好地处理非结构化数据,提升应用程序的性能和可扩展性。