MongoDB最简单的入门教程之三 使用Java代码往MongoDB里插入数据

举报
汪子熙 发表于 2021/12/04 19:44:54 2021/12/04
【摘要】 前两篇教程我们介绍了如何搭建MongoDB的本地环境。这篇教程我们会介绍如何使用Java代码来连接MongoDB。如果您是基于Maven进行依赖管理的Java项目,只需要在您的pom.xml里加入下面的依赖定义,<dependency><groupId>org.mongodb</groupId><artifactId>mongodb-driver</artifactId><version>3...

前两篇教程我们介绍了如何搭建MongoDB的本地环境。

这篇教程我们会介绍如何使用Java代码来连接MongoDB。

如果您是基于Maven进行依赖管理的Java项目,只需要在您的pom.xml里加入下面的依赖定义,

<dependency>

<groupId>org.mongodb</groupId>

<artifactId>mongodb-driver</artifactId>

<version>3.6.4</version>

</dependency>

然后使用命令行mvn clean install后,您的本地maven仓库里会多出三个和用Java连接MongoDB相关的库:

  • bson

  • mongodb-driver

  • mongodb-driver-core

当然也可以手动逐一下载jar文件:https://mongodb.github.io/mongo-java-driver/

本文使用的是这三个文件,将它们下载到本地,再加入Java项目的classpath里。

Java代码如下:

package mongoDB;
import java.util.ArrayList;
import java.util.List;
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
public class MongoDBTest {
	private static void insert(MongoCollection<Document> collection) {
		Document document = new Document("name", "dog");
		List<Document> documents = new ArrayList<Document>();
		documents.add(document);
		collection.insertMany(documents);
	}
	public static void main(String args[]) {
		MongoClient mongoClient = null;
		try {
			mongoClient = new MongoClient("localhost", 27017);
			MongoDatabase mongoDatabase = mongoClient.getDatabase("admin");
			System.out.println("Connect to database successfully");
			MongoCollection<Document> collection = mongoDatabase
			.getCollection("person");
			// insert(collection);
			FindIterable<Document> findIterable = collection.find();
			MongoCursor<Document> mongoCursor = findIterable.iterator();
			while (mongoCursor.hasNext()) {
				System.out.println(mongoCursor.next());
			}
		}
		catch (Exception e) {
			System.err.println(e.getClass().getName() + ": " + e.getMessage());
		}
		finally{
			mongoClient.close();
		}
	}
}

和教程二相比,上述代码的insert方法里还展示了如何用Java代码给MongoDB数据库里增加记录。

private static void insert(MongoCollection<Document> collection) {
	Document document = new Document("name", "dog");
	List<Document> documents = new ArrayList<Document>();
	documents.add(document);
	collection.insertMany(documents);
}

执行Java应用,发现通过insert方法加到数据库的记录也能被顺利读出来。

MongoDB最简单的入门教程之三 使用Java代码往MongoDB里插入数据

MongoDB最简单的入门教程之三 使用Java代码往MongoDB里插入数据

在前一篇教程 MongoDB最简单的入门教程之一 环境搭建** 里,我们已经完成了MongoDB的环境搭建。**

在localhost:27017的服务器上,在数据库admin下面创建了一个名为person的数据库表,并插入了两条记录:

上图是用MongoDB Compass查看的成功插入的两条记录。

下面我们用nodejs读取这两条记录。

首先在命令行里执行npm install mongodb,

然后新建一个JavaScript文件,复制以下内容:

注意第12行的dbo.collection(“person”). find({}).toArray,意思是读取表person里的所有记录。

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017";
MongoClient.connect(url, function(err, db) {
	if (err){
		console.log(err);
		throw err;
	}
	console.log("Jerry DB connection established!");
	var dbo = db.db("admin");
	dbo.collection("person"). find({
	}
	).toArray(function(err, result) {
		if (err)
		throw err;
		console.log(result);
		db.close();
	}
	);
	db.close();
}
);

如果我只想读取name为Jerry的那条记录,只需要把where条件传入方法find即可:

从调试器里能观察到按照期望的方式被读取回来了:

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。