mongoDB的数据类型:
数据类型 | 描述 |
---|---|
String | 字符串。存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合法的。 |
Integer | 整型数值。用于存储数值。根据你所采用的服务器,可分为 32 位或 64 位。 |
Boolean | 布尔值。用于存储布尔值(真/假)。 |
Double | 双精度浮点值。用于存储浮点值。 |
Min/Max keys | 将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比。 |
Array | 用于将数组或列表或多个值存储为一个键。 |
Timestamp | 时间戳。记录文档修改或添加的具体时间。 |
Object | 用于内嵌文档。 |
Null | 用于创建空值。 |
Symbol | 符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言。 |
Date | 日期时间。用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建 Date 对象,传入年月日信息。 |
Object ID | 对象 ID。用于创建文档的 ID。 |
Binary Data | 二进制数据。用于存储二进制数据。 |
Code | 代码类型。用于在文档中存储 JavaScript 代码。 |
Regular expression | 正则表达式类型。用于存储正则表达式。 |
下载地址https://www.mongodb.com/
不要下载最新版不然无法安装,本人下载的是3.4。
创建路径:
D:\mongodb\data\db
D:\mongodb\data\log
打开cmd(windows键+r输入cmd)命令行,进入D:\mongodb\bin目录(如图先输入d:进入d盘然后输入cd d:\mongodb\bin),
输入如下的命令启动mongodb服务:
D:/mongodb/bin>mongod --dbpath D:\mongodb\data\db
D:/mongodb/bin>mongod --logpath D:\mongodb\data\log
配置环境变量Path后加:
D:\mongodb\bin;
cmd中输入:
D:\mongodb\bin\mongo.exe
jar包引入如下:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.9.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>2.14.2</version>
</dependency>
java代码如下:
package com.soecode.lyf.web;
import java.util.ArrayList;
import java.util.List;
public class MongDBTest {
public static void main(String[] args) {
try {
//不需要用户名密码登录
//连接到MongoDB
// MongoClient mongoClient = new MongoClient("localhost" , 27017);
// System.out.println(mongoClient.getConnectPoint());
// //连接数据库
// //如果该库不存在就会自动创建 用show dbs查看库 ;用 use dataSource / show collections展示所有的集合
// MongoDatabase mongoDatabase = mongoClient.getDatabase("admin");
// System.out.println("数据库连接名是:"+mongoDatabase.getName());
// //用户名密码登录
// //服务器地址 和 端口
// ServerAddress serverAddress = new ServerAddress("localhost",27017);
// List<ServerAddress> serverList = new ArrayList<ServerAddress>();
// serverList.add(serverAddress);
// //用户名 数据库名称 密码
// MongoCredential credential = MongoCredential.createScramSha1Credential("a", "dataSource", "a".toCharArray());
// List<MongoCredential> credentialList = new ArrayList<MongoCredential>();
// credentialList.add(credential);
// //通过认证连接MongoDB
// MongoClient mongoClient = new MongoClient(serverList,credentialList);
// //连接数据库
// MongoDatabase mongoDatabase = mongoClient.getDatabase("dataSource");
// System.out.println("连接数据库的名称:"+mongoDatabase.getName());
// //创建集合
// mongoDatabase.createCollection("myFirstCol");
// //获取集合
// MongoCollection mongoCollection = mongoDatabase.getCollection("myFirstCol");
// System.out.println("获取的集合是:"+mongoCollection.toString());
// System.out.println(mongoCollection.getNamespace());
Document dMap = new Document();
dMap.append("aaa", "vvv");
mongoCollection.insertOne(dMap);
// FindIterable<Document> findIterableMap = mongoCollection.find();
// MongoCursor<Document> mongoCursorMap = findIterableMap.iterator();
// System.out.println("开始======");
// while(mongoCursorMap.hasNext()){
// System.out.println(mongoCursorMap.next().toJson());
// }
//插入文档
/**
* 1. 创建文档 org.bson.Document 参数为key-value的格式
* 2. 创建文档集合List<Document>
* 3. 将文档集合插入数据库集合中 mongoCollection.insertMany(List<Document>) 插入单个文档可以用 mongoCollection.insertOne(Document)
*/
// Document document = new Document("title","MongoDB").
// append("description", "database").
// append("likes", 100).
// append("by", "Fly");
// List<Document> documentList = new ArrayList<Document>();
// documentList.add(document);
// mongoCollection.insertMany(documentList);
// System.out.println("文档插入成功");
//检索文档
/**
* 1. 获取迭代器FindIterable<Document>
* 2. 获取游标MongoCursor<Document>
* 3. 通过游标遍历检索出的文档集合
*/
// FindIterable<Document> findIterable = mongoCollection.find();
// MongoCursor<Document> mongoCursor = findIterable.iterator();
// Document pDocument = new Document();
// System.out.println("开始-----------");
// while(mongoCursor.hasNext()){
// pDocument = mongoCursor.next();
// System.out.println(pDocument.getString("title")+" , "+pDocument.getString("description"));
// System.out.println(pDocument.toString());
// }
// System.out.println("结束-----------");
//
//更新文档
//更新文档 将文档中likes=100的文档修改为likes=200
// mongoCollection.updateMany(Filters.eq("likes", 100), new Document("$set",new Document("likes",200)));
// //检索查看结果
// FindIterable<Document> findIterale2 = mongoCollection.find();
// MongoCursor<Document> mongoCursor2 = findIterale2.iterator();
// Document pDocument2 = new Document();
// while(mongoCursor2.hasNext()){
// pDocument2 = mongoCursor2.next();
// System.out.println(pDocument2.getString("title")+" , "+pDocument2.getString("description"));
// System.out.println(pDocument2.toString());
// }
//
// //删除符合条件的第一个文档
// mongoCollection.deleteOne(Filters.eq("likes", 200));
// //删除所有符合条件的文档
// mongoCollection.deleteMany(Filters.eq("likes",200));
// //检索查看结果
// FindIterable<Document> findIterable3 = mongoCollection.find();
// MongoCursor<Document> mongoCursor3 = findIterable3.iterator();
// while(mongoCursor3.hasNext()){
// System.out.println(mongoCursor3.next());
// }
} catch (Exception e) {
e.printStackTrace();
}
}
}
设置了用户密码可是依然可以直接连接上访问资源不知道为什么,有知道为什么的可以评论交流。