1. 简介
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
2. Windows上的安装
mongodb不错,官方支持windows。支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。
本文写作时最新版是2.6.2,下载mongodb-win32-i386-2.6.2.zip下来解压,即可用了。
3. 运行服务器
3.1 首先创建data/db目录
cd bin
mkdir data
cd data
mkdir db
3.2 运行服务端mongod
mongod --dbpath data/db
3.3 运行客户端mongo
mongo是一个shell。
#创建4条数据
> db.users.save({age:20})
WriteResult({ "nInserted" : 1 })
> db.users.save({age:24})
WriteResult({ "nInserted" : 1 })
> db.users.save({age:31})
WriteResult({ "nInserted" : 1 })
> db.users.save({age:20})
WriteResult({ "nInserted" : 1 })
#查询数据
> db.users.find()
{ "_id" : ObjectId("53a06f615d78fdcab0b2d57a"), "age" : 20 }
{ "_id" : ObjectId("53a06f7c5d78fdcab0b2d57b"), "age" : 24 }
{ "_id" : ObjectId("53a06f805d78fdcab0b2d57c"), "age" : 31 }
{ "_id" : ObjectId("53a070c05d78fdcab0b2d57d"), "age" : 20 }
#按年龄统计
#等价的SQL为 select age, count(*) from users group by age
> var result = db.users.group({
... key: {age:true},
... cond: null,
... reduce: function(obj, v) {v.count += 1},
... initial: {count:0}
... })
#结果可以以游标形式返回
> result.forEach(function(x) {
... printjson(x)
... })
{ "age" : 20, "count" : 2 }
{ "age" : 24, "count" : 1 }
{ "age" : 31, "count" : 1 }
> exit
bye
以上的客户端测试例子引用了《NoSQL数据库入门》这本书。
分享到:
相关推荐
在构建一个基于SpringMVC、MongoDB和Redis的初步架构设计时,我们需要深入了解这三大技术以及它们如何协同工作。SpringMVC是Spring框架的一部分,主要用于处理Web应用的模型-视图-控制器(MVC)结构。MongoDB是一个...
### MongoDB入门知识点详解 #### 一、NoSQL简介与MongoDB概述 ...通过上述知识点的学习,相信您已经对MongoDB有了初步的认识,接下来可以进一步深入研究其高级特性,以便更好地应用于实际项目中。
### MongoDB集群安装配置详解 #### 一、引言 随着数据量的增长以及对高可用性的需求增加,构建MongoDB集群成为...此配置适用于初步了解MongoDB集群的工作原理及其基本使用方法,为更复杂的应用场景打下了良好的基础。
Spring4.X版本引入了更多的改进和优化,包括对Java 8的支持以及对反应式编程的初步支持。 SpringMVC是Spring框架的一部分,它负责处理HTTP请求和响应。SpringMVC通过DispatcherServlet作为入口点,接收到请求后,...
MongoDB是一款开源、高性能、无模式的文档型数据库,常用于大数据存储和处理。...通过以上内容,相信您已经对MongoDB的安装、基本操作和常见应用场景有了初步的认识。祝您学习愉快,如有疑问,欢迎继续探讨。
"008_基于mongodb实现商品管理系统之准备工作讲解.avi"涵盖了系统设计的初步阶段,包括数据库结构的设计、数据模型的选择以及与商品管理相关的业务逻辑分析。这部分内容对于确保系统的稳定性和实用性至关重要。 ...
通过观察这些指标,我们可以初步判断系统是否存在慢查询等问题。 ##### 2. Profile Profile功能可以记录MongoDB的查询操作细节,这对于深入分析和优化查询是非常有用的。 - **启用和查看状态**: - 进入`mongo...
MongoDB是一款开源、分布式、高性能的NoSQL数据库,它以其灵活性、可扩展...通过以上内容,你应该对MongoDB的安装和基础操作有了初步了解。继续深入学习和实践,你将能够熟练地利用MongoDB构建高效的数据存储解决方案。
这种行为对于评估数据库的规模、了解数据类型以及初步分析数据库的结构非常有用。未授权访问可能导致敏感数据泄露,因此,这样的工具可能被用于安全审计或者漏洞扫描,以便在实际的授权访问之前发现潜在的问题。 在...
文件名"demo_01"可能表示这是一个逐步开发的过程,后续可能还有其他版本(demo_02, demo_03等),用于展示项目从初步实现到完善的过程。 综上所述,这个压缩包包含了一个使用MongoDB的权限管理系统的示例,涵盖了...
通过以上介绍,你应该对如何在Java中使用MongoDB进行基本的数据库操作有了初步了解。在实际项目中,你可能还需要考虑错误处理、事务支持、性能优化等方面的问题。在处理大量数据时,记得利用MongoDB的分片和复制集...
2. **分片集群**:初步实现了分片功能,允许在多台机器上分配数据,以支持大规模的数据存储和处理。 3. **新的查询优化器**:改进了查询执行计划的生成,提高了查询效率。 4. **写入确认**:引入了写入确认机制,...
通过本文档的介绍,相信您已经对 MongoDB 的基本概念和使用方法有了初步的了解。在未来的学习和实践中,您还可以探索更多高级特性和应用场景,如事务处理、地理空间索引等,以满足更复杂的需求。
在部署MongoDB之前,需要了解其推荐的操作系统和支持的操作系统版本,以及如何进行安装和初步设置。 ##### 2.1 推荐的操作系统 MongoDB官方推荐使用以下操作系统进行生产部署: - **Linux**: Ubuntu、Red Hat ...
MongoDB 是一个流行的开源、分布式文档数据库系统,属于NoSQL数据库的一种。...通过以上的介绍,你应该对MongoDB的基本操作有了初步了解。在实际应用中,还需要根据具体需求学习更多高级特性和最佳实践。
- **第三章**:介绍如何编写MongoDB应用程序,为读者提供一个初步的应用实践。 ##### 3. 第二部分:深入理解MongoDB文档数据模型 - **第四章**:深入探讨MongoDB的文档数据模型。这部分内容将帮助读者更深入地理解...
7. 数据探索:Compass提供了探索工具,允许用户以交互方式浏览和分析数据,发现数据模式,进行数据预处理和初步的数据清洗。 8. 分片和复制集管理:对于分布式MongoDB部署,Compass可以帮助管理员监控和管理分片...
本章节将带您初步了解MongoDB的基本概念和技术特点: 1. **MongoDB简介**:MongoDB是一种文档型数据库,支持JSON格式的数据存储,能够快速地处理大规模数据。 2. **安装与配置**:介绍如何在Windows、Linux等操作...