去官方网站下载了程序,“绿色”的,通过命令行直接运行BIN下面的服务器mongod.exe即可,不过默认的数据库位置在C盘下,这总是不大合适,可以通过加参数 -dbpath来改变,如
mongod.exe –dbpath d:/db
注意这里有个问题,Windows下,一般是使用\作为路径分隔符的,不过在这里,如果直接使用d:\db这样的话,mongod会把\去掉,变成d:db这样,导致启动失败,所以比较简单的方法就是用/来代替\
服务器启动后,可以在浏览器中访问,默认地址是:http://127.0.0.1:28017/,里面会有一些数据库的基本信息
访问数据库可以使用BIN下面的mongo.exe,是个命令行工具。对于用惯了MS-SQL,MySQL这样有良好的数据库UI工具的我来说,让我直接用命令行去操作数据库实在是有些不习惯,在网上查了一下,UI工具有倒是有,不过都不大完善的样子,也就懒得下了。在命令行下,输入help可以看到基本操作命令:
show dbs:显示数据库列表
show collections:显示当前数据库中的集合(类似关系数据库中的表)
show users:显示用户
use <db name>:切换当前数据库,这和MS-SQL里面的意思一样
db.help():显示数据库操作命令,里面有很多的命令
db.foo.help():显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令
db.foo.find():对于当前数据库中的foo集合进行数据查找(由于没有条件,会列出所有数据)
db.foo.find( { a : 1 } ):对于当前数据库中的foo集合进行查找,条件是数据中有一个属性叫a,且a的值为1
------------------------------------------------
大致的说明一下MongoDB中的数据格式,我没有去详细的查看官方的文档,只是按我试用过的感觉来说,其数据结构,类似JSON,即key-value成对,key一般就是String,而value而无所谓了,如一个JSON数据:
{
name:"X-Man",
birthday:{
year:1987,
month:1,
day:20
}
}
只要你愿意,就可以把Value不断的复杂化,以方便存储数据
-----------------------------------------------------------
要使用Java操作MongoDB的话,要到官方网站下载一个驱动包,点击网站上的Drivers里面,可以看到目前支持的语言,非常的多……把包导入后,可以尝试来操作了(记得一定要开着服务器)
首先介绍一下比较常用的几个类
Mongo:连接服务器,执行一些数据库操作的选项,如新建立一个数据库等
DB:对应一个数据库,可以用来建立集合等操作
DBCollection:对应一个集合(类似表),可能是我们用得最多的,可以添加删除记录等
DBObject接口和BasicDBObject对象:表示一个具体的记录,BasicDBObject实现了DBObject,因为是key-value的数据结构,所以用起来其实和HashMap是基本一致的
DBCursor:用来遍历取得的数据,实现了Iterable和Iterator
接下来实际的操作一下,代码如下:
import com.mongodb.*;
public class Main {
public static void main(String[] args) {
try{
Mongo m = new Mongo("127.0.0.1");
//选择数据库,如果没有这个数据库的话,会自动建立
DB db = m.getDB("mongo");
//列出所有数据库名,不过发现,如果数据库里面是没有数据的话,并不会被列出来
System.out.println("数据库列表:"+m.getDatabaseNames());
//建立一个集合,和数据库一样,如果没有,会自动建立
DBCollection col = db.getCollection("col");
//列出所有集合名,和数据库一样,如果集合里面是没有数据的话,并不会被列出来
System.out.println("当前数据库下的集合列表:"+db.getCollectionNames());
//建立一个数据项,重复执行会多次添加一样的数据
BasicDBObject val = new BasicDBObject();
val.put("name", "X-Man");
col.save(val);
//保存的数据为
//{ "_id" : "4b8de2f3053068a371e870c0" , "name" : "X-Man"}
//_id是系统自动帮加上的,全局唯一
//多次加入一样的数据时,_id都是不一样的
//取得所有数据并打印出来
DBCursor ite = col.find();
while(ite.hasNext())
{
System.out.println(ite.next());
}
}catch(Exception error)
{
error.printStackTrace();
}
}
}
----------------------------更新操作--------------------------
view sourceprint?
import com.mongodb.*;
public class Main {
public static void main(String[] args) {
try{
Mongo m = new Mongo("127.0.0.1");
DB db = m.getDB("mongo");
DBCollection col = db.getCollection("col");
System.out.println("修改前:");
showData(col);
//查找所有 name=X-Man 的项,并更新
BasicDBObject old_val = new BasicDBObject(),new_val = new BasicDBObject();
old_val.put("name", "X-Man无敌");
new_val.put("name", "X-Man无敌");
col.update(old_val, new_val);//只会更新一个
//col.updateMulti(new_val, old_val)不知道怎么回事,这函数不顶用
System.out.println("修改后:");
showData(col);
}catch(Exception error)
{
error.printStackTrace();
}
}
static void showData(DBCollection col)
{
DBCursor ite = col.find();
while(ite.hasNext())
{
System.out.println(ite.next());
}
}
}
分享到:
相关推荐
### MongoDB简介 MongoDB是一种介于关系数据库和非关系数据库之间的产品,在非关系数据库中以其丰富的功能和接近关系数据库的特性而闻名。它支持类似JSON的BSON格式数据存储,适用于存储复杂的数据类型。 #### ...
MongoDB是一种开源的非关系型数据库系统,其特点在于分布式文件存储、高性能、易部署、易使用和存储格式灵活。MongoDB采用C++编写,支持存储各种复杂的数据类型,尤其擅长处理大量的数据。它的数据模型与传统的关系...
MongoDB使用的是集合(Collection)作为存储数据的容器,每个集合可以包含多个JSON格式的文档(Document)。它支持嵌套文档(Embedded Document)和分片(Shard),使用分片键(ShardKey)来分布数据。 9. MongoDB...
#### 一、MongoDB 简介 MongoDB 是一种基于分布式文件存储的开源数据库系统。它属于 NoSQL 数据库的一种,使用 BSON(Binary JSON)格式来存储数据,支持动态模式,使得开发过程更加简单快捷。 #### 二、Windows 下...
MongoDB简介 软件测试
**1.1 MongoDB简介** - **NoSQL背景:** - 随着互联网用户的快速增长和用户行为的变化,传统的关系型数据库在处理高并发读写操作、海量数据存储以及提供高可用性和高扩展性方面遇到了挑战。 - NoSQL(Not Only ...
在这个"MongoDB简介及精进PDF"的压缩包中,包含了对MongoDB的深度探讨,包括其基本概念、核心特性、最佳实践以及高级技术应用。 NOSQL主流产品的研究报告.docx可能涵盖了当前市场上流行的NoSQL数据库的比较,包括...
#### 一、MongoDB简介 **功能特点** - **面向文档存储**:MongoDB采用类似于JSON的数据模型,这种结构简单且强大,非常适合存储复杂的数据类型。 - **高效的存储方式**:支持二进制数据及大型对象(如照片和视频)...
"Mongodb shard 简介" MongoDB shard 是一种水平方向的多节点数据分散存储技术,它可以将大量数据分布到多个服务器上,以提高数据库的存储能力和查询效率。下面是 MongoDB shard 的一些特性和部署架构: Shard 的...
### 第 1 章 MongoDB 简介 #### 1.1 功能特点 1. **文档存储**:MongoDB以JSON格式的文档存储数据,使得数据结构与应用程序更加贴近。 2. **弹性伸缩**:支持水平扩展,通过分片集群实现大数据量存储。 3. **高性能...
1 MongoDB的简介和安装启动.mp4 2 MongoDB服务器的启动优化.mp4 3 MongoDB客户端基础使用.mp4 4 MongoDB集合的多种查询条件.mp4 5 MongoDB索引查询与建立.mp4 6 MongoDB数据库的监控命令.mp4 7 MongoDB副本集的搭建....
资源名称:MongoDB应用设计模式内容简介:无论是在构建社交媒体网站,还是在开发一个仅在内部使用的企业应用程序,《MongoDB应用设计模式》展示了MongoDB需要解决的商业问题之间的连接。你将学到如何把MongoDB设计...
### MongoDB简介与实践 #### MongoDB概述 MongoDB是一款先进的、基于分布式文件存储的数据库系统,其核心编程语言为C++。这款数据库系统的设计初衷是为了满足Web应用对高性能、可扩展数据存储方案的需求。MongoDB...
**一、MongoDB简介** MongoDB是一个基于分布式文件存储的开源数据库系统,它以JSON(JavaScript Object Notation)格式存储数据,具有高度可扩展性和高性能。MongoDB支持丰富的查询语句,可以方便地进行数据检索和...
MongoDB简介: MongoDB是一个高性能的NoSQL数据库,使用C++编写,支持分布式的文件存储。它提供了一个可扩展的平台,可以通过增加节点数量来应对高负载情况,保证服务器性能。 MongoDB的特点: MongoDB的主要特点...
Spring Data MongoDB简介** Spring Data MongoDB提供了与MongoDB数据库交互的一系列抽象,包括MongoTemplate和Repository接口。通过这些接口,开发人员无需直接编写MongoDB的Java驱动程序代码,就能实现CRUD(创建...
#### 一、MongoDB简介 MongoDB是一种非常流行的开源文档数据库系统,它属于NoSQL(非关系型数据库)的一种。与传统的关系型数据库不同,MongoDB采用BSON(Binary JSON)格式存储数据,这使得数据存储更加灵活,并且...
二、MongoDB简介 MongoDB是一个NoSQL数据库,它使用JSON-like文档进行数据存储,这使得处理复杂数据结构变得简单。它的特点是灵活性、高可用性、可扩展性和高性能,适用于大数据和实时应用。 三、安装MongoDB 1. ...