文章目录
- 1.引入Java驱动依赖
- 2.快速开始
- 2.1 先在monsh连接建立collection
- 2.2 java中快速开始
- 2.3 Insert a Document
- 2.4 Update a Document
- 2.5 Find a Document
- 2.6 Delete a Document
1.引入Java驱动依赖
注意:启动服务的时候需要加ip绑定
需要引入依赖
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mongodb/bson -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>bson</artifactId>
<version>5.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mongodb/mongodb-driver-core -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-core</artifactId>
<version>5.1.0</version>
</dependency>
2.快速开始
2.1 先在monsh连接建立collection
db.players.insertOne({name:"palyer1",height:181,weigh:90})
{
acknowledged: true,
insertedId: ObjectId('665c5e0a522ef6dba6a26a13')
}
test> db.players.insertOne({name:"palyer2",height:190,weigh:100})
{
acknowledged: true,
insertedId: ObjectId('665c5e18522ef6dba6a26a14')
}
test> db.players.find()
[
{
_id: ObjectId('665c5e0a522ef6dba6a26a13'),
name: 'player1',
height: 181,
weigh: 90
},
{
_id: ObjectId('665c5e18522ef6dba6a26a14'),
name: 'player2',
height: 190,
weigh: 100
}
]
2.2 java中快速开始
public class QuickStart {
public static void main(String[] args) {
// 连接的url
String uri = "mongodb://node02:27017";
try (MongoClient mongoClient = MongoClients.create(uri)) {
MongoDatabase database = mongoClient.getDatabase("test");
MongoCollection<Document> collection = database.getCollection("players");
Document doc = collection.find(eq("name", "palyer2")).first();
if (doc != null) {
//{"_id": {"$oid": "665c5e18522ef6dba6a26a14"}, "name": "palyer2", "height": 190, "weigh": 100}
System.out.println(doc.toJson());
} else {
System.out.println("No matching documents found.");
}
}
}
}
2.3 Insert a Document
@Test
public void InsertDocument()
{
MongoDatabase database = mongoClient.getDatabase("test");
MongoCollection<Document> collection = database.getCollection("map");
try {
// 插入地图文档
InsertOneResult result = collection.insertOne(new Document()
.append("_id", new ObjectId())
.append("name", "beijing")
.append("longitude", "40°N")
.append("latitude", "116°E"));
//打印文档的id
//Success! Inserted document id: BsonObjectId{value=665c6424a080bb466d32e645}
System.out.println("Success! Inserted document id: " + result.getInsertedId());
// Prints a message if any exceptions occur during the operation
} catch (MongoException me) {
System.err.println("Unable to insert due to an error: " + me);
}
2.4 Update a Document
@Test
public void UpdateDocument(){
MongoDatabase database = mongoClient.getDatabase("test");
MongoCollection<Document> collection = database.getCollection("map");
//构造更新条件
Document query = new Document().append("name", "beijing");
// 指定更新的字段
Bson updates = Updates.combine(
Updates.set("longitude", "40.0N"),
Updates.set("latitude", "116.0E")
);
// Instructs the driver to insert a new document if none match the query
UpdateOptions options = new UpdateOptions().upsert(true);
try {
// 更新文档
UpdateResult result = collection.updateOne(query, updates, options);
// Prints the number of updated documents and the upserted document ID, if an upsert was performed
System.out.println("Modified document count: " + result.getModifiedCount());
System.out.println("Upserted id: " + result.getUpsertedId());
} catch (MongoException me) {
System.err.println("Unable to update due to an error: " + me);
}
}
2.5 Find a Document
@Test
public void testFindDocuments(){
MongoDatabase database = mongoClient.getDatabase("test");
MongoCollection<Document> collection = database.getCollection("map");
// 创建检索条件
/*Bson projectionFields = Projections.fields(
Projections.include("name", "shanghai"),
Projections.excludeId());*/
// 匹配过滤检索文档
MongoCursor<Document> cursor = collection.find(eq("name", "shanghai"))
//.projection(projectionFields)
.sort(Sorts.descending("longitude")).iterator();
// 打印检索到的文档
try {
while(cursor.hasNext()) {
System.out.println(cursor.next().toJson());
}
} finally {
cursor.close();
}
}
2.6 Delete a Document
@Test
public void DeleteDocument(){
MongoDatabase database = mongoClient.getDatabase("test");
MongoCollection<Document> collection = database.getCollection("map");
Bson query = eq("name", "shanghai");
try {
// 删除名字为shanghai的地图
DeleteResult result = collection.deleteOne(query);
System.out.println("Deleted document count: " + result.getDeletedCount());
// 打印异常消息
} catch (MongoException me) {
System.err.println("Unable to delete due to an error: " + me);
}
}