当前位置: 首页 > news >正文

台州网络建站模板平面设计培训

台州网络建站模板,平面设计培训,河东网站建设,网站什么模板做的随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666) from:http://www.runoob.com/mongodb/mongodb-java.html MongoDB Java 环境配置 在 Java 程序中如果要使用 MongoDB,你需要确保已经安装…

随时随地技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)

from:http://www.runoob.com/mongodb/mongodb-java.html

MongoDB Java

环境配置

在 Java 程序中如果要使用 MongoDB,你需要确保已经安装了 Java 环境及 MongoDB JDBC 驱动。

本章节实例时候 Mongo 3.x 以上版本。

你可以参考本站的Java教程来安装Java程序。现在让我们来检测你是否安装了 MongoDB JDBC 驱动。

  • 首先你必须下载mongo jar包,下载地址:MongoDB Java Drivers, 请确保下载最新版本。

  • 你需要将 mongo-java-driver-3.2.2.jar (找到合适的版本)包含在你的 classpath 中。。
  • 国内 mongodb-driver jar 下载地址:http://central.maven.org/maven2/org/mongodb/mongo-java-driver/

连接数据库

连接数据库,你需要指定数据库名称,如果指定的数据库不存在,mongo会自动创建数据库。

连接数据库的Java代码如下:

import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;public class MongoDBJDBC{public static void main( String args[] ){try{   // 连接到 mongodb 服务MongoClient mongoClient = new MongoClient( "localhost" , 27017 );// 连接到数据库MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");  System.out.println("Connect to database successfully");}catch(Exception e){System.err.println( e.getClass().getName() + ": " + e.getMessage() );}}
} com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;public class MongoDBJDBC{public static void main( String args[] ){try{   // 连接到 mongodb 服务MongoClient mongoClient = new MongoClient( "localhost" , 27017 );// 连接到数据库MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");  System.out.println("Connect to database successfully");}catch(Exception e){System.err.println( e.getClass().getName() + ": " + e.getMessage() );}}
}

现在,让我们来编译运行程序并连接到数据库 mycol。

你可以根据你的实际环境改变 MongoDB JDBC 驱动的路径。

本实例将 MongoDB JDBC 启动包 mongo-java-driver-3.2.2.jar 放在本地目录下:

$ javac -cp .:mongo-java-driver-3.2.2.jar MongoDBJDBC.java
$ java -cp .:mongo-java-driver-3.2.2.jar MongoDBJDBC
Connect to database successfully
Authentication: true-cp .:mongo-java-driver-3.2.2.jar MongoDBJDBC.java
$ java -cp .:mongo-java-driver-3.2.2.jar MongoDBJDBC
Connect to database successfully
Authentication: true

本实例中 Mongo 数据库无需用户名密码验证。如果你的 Mongo 需要验证用户名及密码,可以使用以下代码:

import java.util.ArrayList;  
import java.util.List;  
import com.mongodb.MongoClient;  
import com.mongodb.MongoCredential;  
import com.mongodb.ServerAddress;  
import com.mongodb.client.MongoDatabase;  public class MongoDBJDBC {  public static void main(String[] args){  try {  //连接到MongoDB服务 如果是远程连接可以替换“localhost”为服务器所在IP地址  //ServerAddress()两个参数分别为 服务器地址 和 端口  ServerAddress serverAddress = new ServerAddress("localhost",27017);  List<ServerAddress> addrs = new ArrayList<ServerAddress>();  addrs.add(serverAddress);  //MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码  MongoCredential credential = MongoCredential.createScramSha1Credential("username", "databaseName", "password".toCharArray());  List<MongoCredential> credentials = new ArrayList<MongoCredential>();  credentials.add(credential);  //通过连接认证获取MongoDB连接  MongoClient mongoClient = new MongoClient(addrs,credentials);  //连接到数据库  MongoDatabase mongoDatabase = mongoClient.getDatabase("databaseName");  System.out.println("Connect to database successfully");  } catch (Exception e) {  System.err.println( e.getClass().getName() + ": " + e.getMessage() );  }  }  
}  java.util.ArrayList;  
import java.util.List;  
import com.mongodb.MongoClient;  
import com.mongodb.MongoCredential;  
import com.mongodb.ServerAddress;  
import com.mongodb.client.MongoDatabase;  public class MongoDBJDBC {  public static void main(String[] args){  try {  //连接到MongoDB服务 如果是远程连接可以替换“localhost”为服务器所在IP地址  //ServerAddress()两个参数分别为 服务器地址 和 端口  ServerAddress serverAddress = new ServerAddress("localhost",27017);  List<ServerAddress> addrs = new ArrayList<ServerAddress>();  addrs.add(serverAddress);  //MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码  MongoCredential credential = MongoCredential.createScramSha1Credential("username", "databaseName", "password".toCharArray());  List<MongoCredential> credentials = new ArrayList<MongoCredential>();  credentials.add(credential);  //通过连接认证获取MongoDB连接  MongoClient mongoClient = new MongoClient(addrs,credentials);  //连接到数据库  MongoDatabase mongoDatabase = mongoClient.getDatabase("databaseName");  System.out.println("Connect to database successfully");  } catch (Exception e) {  System.err.println( e.getClass().getName() + ": " + e.getMessage() );  }  }  
} 

创建集合

我们可以使用 com.mongodb.client.MongoDatabase 类中的createCollection()来创建集合

代码片段如下:

import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;public class MongoDBJDBC{public static void main( String args[] ){try{   // 连接到 mongodb 服务MongoClient mongoClient = new MongoClient( "localhost" , 27017 );// 连接到数据库MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");  System.out.println("Connect to database successfully");mongoDatabase.createCollection("test");System.out.println("集合创建成功");}catch(Exception e){System.err.println( e.getClass().getName() + ": " + e.getMessage() );}}
} com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;public class MongoDBJDBC{public static void main( String args[] ){try{   // 连接到 mongodb 服务MongoClient mongoClient = new MongoClient( "localhost" , 27017 );// 连接到数据库MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");  System.out.println("Connect to database successfully");mongoDatabase.createCollection("test");System.out.println("集合创建成功");}catch(Exception e){System.err.println( e.getClass().getName() + ": " + e.getMessage() );}}
}

编译运行以上程序,输出结果如下:

Connect to database successfully
集合创建成功 to database successfully
集合创建成功

获取集合

我们可以使用com.mongodb.client.MongoDatabase类的 getCollection() 方法来获取一个集合

代码片段如下:

import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;public class MongoDBJDBC{public static void main( String args[] ){try{   // 连接到 mongodb 服务MongoClient mongoClient = new MongoClient( "localhost" , 27017 );// 连接到数据库MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");  System.out.println("Connect to database successfully");MongoCollection<Document> collection = mongoDatabase.getCollection("test");System.out.println("集合 test 选择成功");}catch(Exception e){System.err.println( e.getClass().getName() + ": " + e.getMessage() );}}
} org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;public class MongoDBJDBC{public static void main( String args[] ){try{   // 连接到 mongodb 服务MongoClient mongoClient = new MongoClient( "localhost" , 27017 );// 连接到数据库MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");  System.out.println("Connect to database successfully");MongoCollection<Document> collection = mongoDatabase.getCollection("test");System.out.println("集合 test 选择成功");}catch(Exception e){System.err.println( e.getClass().getName() + ": " + e.getMessage() );}}
}

编译运行以上程序,输出结果如下:

Connect to database successfully
集合 test 选择成功 to database successfully
集合 test 选择成功

插入文档

我们可以使用com.mongodb.client.MongoCollection类的 insertMany() 方法来插入一个文档

代码片段如下:

import java.util.ArrayList;
import java.util.List;
import org.bson.Document;import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;public class MongoDBJDBC{public static void main( String args[] ){try{   // 连接到 mongodb 服务MongoClient mongoClient = new MongoClient( "localhost" , 27017 );// 连接到数据库MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");  System.out.println("Connect to database successfully");MongoCollection<Document> collection = mongoDatabase.getCollection("test");System.out.println("集合 test 选择成功");//插入文档  /** * 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> documents = new ArrayList<Document>();  documents.add(document);  collection.insertMany(documents);  System.out.println("文档插入成功");  }catch(Exception e){System.err.println( e.getClass().getName() + ": " + e.getMessage() );}}
}
 java.util.ArrayList;
import java.util.List;
import org.bson.Document;import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;public class MongoDBJDBC{public static void main( String args[] ){try{   // 连接到 mongodb 服务MongoClient mongoClient = new MongoClient( "localhost" , 27017 );// 连接到数据库MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");  System.out.println("Connect to database successfully");MongoCollection<Document> collection = mongoDatabase.getCollection("test");System.out.println("集合 test 选择成功");//插入文档  /** * 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> documents = new ArrayList<Document>();  documents.add(document);  collection.insertMany(documents);  System.out.println("文档插入成功");  }catch(Exception e){System.err.println( e.getClass().getName() + ": " + e.getMessage() );}}
}

编译运行以上程序,输出结果如下:

Connect to database successfully
集合 test 选择成功
文档插入成功 to database successfully
集合 test 选择成功
文档插入成功

检索所有文档

我们可以使用 com.mongodb.client.MongoCollection 类中的 find() 方法来获取集合中的所有文档。

此方法返回一个游标,所以你需要遍历这个游标。

代码片段如下:

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 MongoDBJDBC{public static void main( String args[] ){try{   // 连接到 mongodb 服务MongoClient mongoClient = new MongoClient( "localhost" , 27017 );// 连接到数据库MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");  System.out.println("Connect to database successfully");MongoCollection<Document> collection = mongoDatabase.getCollection("test");System.out.println("集合 test 选择成功");//检索所有文档  /** * 1. 获取迭代器FindIterable<Document> * 2. 获取游标MongoCursor<Document> * 3. 通过游标遍历检索出的文档集合 * */  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() );}}
} 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 MongoDBJDBC{public static void main( String args[] ){try{   // 连接到 mongodb 服务MongoClient mongoClient = new MongoClient( "localhost" , 27017 );// 连接到数据库MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");  System.out.println("Connect to database successfully");MongoCollection<Document> collection = mongoDatabase.getCollection("test");System.out.println("集合 test 选择成功");//检索所有文档  /** * 1. 获取迭代器FindIterable<Document> * 2. 获取游标MongoCursor<Document> * 3. 通过游标遍历检索出的文档集合 * */  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() );}}
}

编译运行以上程序,输出结果如下:

Connect to database successfully
集合 test 选择成功
Document{{_id=56e65fb1fd57a86304fe2692, title=MongoDB, description=database, likes=100, by=Fly}} to database successfully
集合 test 选择成功
Document{{_id=56e65fb1fd57a86304fe2692, title=MongoDB, description=database, likes=100, by=Fly}}

更新文档

你可以使用 com.mongodb.client.MongoCollection 类中的 updateMany() 方法来更新集合中的文档。

代码片段如下:

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;
import com.mongodb.client.model.Filters;public class MongoDBJDBC{public static void main( String args[] ){try{   // 连接到 mongodb 服务MongoClient mongoClient = new MongoClient( "localhost" , 27017 );// 连接到数据库MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");  System.out.println("Connect to database successfully");MongoCollection<Document> collection = mongoDatabase.getCollection("test");System.out.println("集合 test 选择成功");//更新文档   将文档中likes=100的文档修改为likes=200   collection.updateMany(Filters.eq("likes", 100), new Document("$set",new Document("likes",200)));  //检索查看结果  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() );}}
} 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;
import com.mongodb.client.model.Filters;public class MongoDBJDBC{public static void main( String args[] ){try{   // 连接到 mongodb 服务MongoClient mongoClient = new MongoClient( "localhost" , 27017 );// 连接到数据库MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");  System.out.println("Connect to database successfully");MongoCollection<Document> collection = mongoDatabase.getCollection("test");System.out.println("集合 test 选择成功");//更新文档   将文档中likes=100的文档修改为likes=200   collection.updateMany(Filters.eq("likes", 100), new Document("$set",new Document("likes",200)));  //检索查看结果  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() );}}
}

编译运行以上程序,输出结果如下:

Connect to database successfully
集合 test 选择成功
Document{{_id=56e65fb1fd57a86304fe2692, title=MongoDB, description=database, likes=200, by=Fly}} to database successfully
集合 test 选择成功
Document{{_id=56e65fb1fd57a86304fe2692, title=MongoDB, description=database, likes=200, by=Fly}}

删除第一个文档

要删除集合中的第一个文档,首先你需要使用com.mongodb.DBCollection类中的 findOne()方法来获取第一个文档,然后使用remove 方法删除。

代码片段如下:

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;
import com.mongodb.client.model.Filters;public class MongoDBJDBC{public static void main( String args[] ){try{   // 连接到 mongodb 服务MongoClient mongoClient = new MongoClient( "localhost" , 27017 );// 连接到数据库MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");  System.out.println("Connect to database successfully");MongoCollection<Document> collection = mongoDatabase.getCollection("test");System.out.println("集合 test 选择成功");//删除符合条件的第一个文档  collection.deleteOne(Filters.eq("likes", 200));  //删除所有符合条件的文档  collection.deleteMany (Filters.eq("likes", 200));  //检索查看结果  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() );}}
} 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;
import com.mongodb.client.model.Filters;public class MongoDBJDBC{public static void main( String args[] ){try{   // 连接到 mongodb 服务MongoClient mongoClient = new MongoClient( "localhost" , 27017 );// 连接到数据库MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");  System.out.println("Connect to database successfully");MongoCollection<Document> collection = mongoDatabase.getCollection("test");System.out.println("集合 test 选择成功");//删除符合条件的第一个文档  collection.deleteOne(Filters.eq("likes", 200));  //删除所有符合条件的文档  collection.deleteMany (Filters.eq("likes", 200));  //检索查看结果  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() );}}
}

编译运行以上程序,输出结果如下:

Connect to database successfully
集合 test 选择成功 to database successfully
集合 test 选择成功

更多操作可以参考:Quick Tour

参考文档:http://blog.csdn.net/ererfei/article/details/50857103

http://www.lbrq.cn/news/2513665.html

相关文章:

  • 鄂州网站制作哪家好广州百度seo优化排名
  • 英铭网站建设网站推广广告
  • web网站开发标题字体加粗百度快速收录工具
  • 网站建设分配人员方案营业推广是什么意思
  • 做网站都要买服务器吗广告网
  • 运维难还是开发难免费网站seo诊断
  • 有没有做海报的网站推荐泉州seo优化
  • 建材建设网站google海外版
  • php站点搭建短视频推广app
  • 上海建设网站定做网站创建的流程是什么
  • 在线网站设计关键词分布中对seo有危害的
  • 合肥做网站价格北京seo优化排名
  • 牛b插网站建设网站推广计划方案
  • 专业的网页设计和网站制作公司凡科建站官网免费注册
  • 黄骅海边旅游景区推广关键词优化
  • 在线网站建设培训免费推广网站大全下载
  • 好看的网站页面设计seocms
  • 长沙做个网站多少钱域名关键词查询
  • 礼品网站建设平台推广引流
  • 网站权重什么意思站长工具排行榜
  • 代练中介网站有得做吗腾讯中国联通
  • 学校网站的图片轮播怎么做北京互联网公司有哪些
  • 为什么打不开建设银行网站成都网络推广外包公司哪家好
  • 广西seo网站seo研究中心晴天
  • 网站建设与维护教学视频沈阳网站建设
  • 竭诚网络网站建设价格谷歌seo优化推广
  • 企业建设电子商务网站的预期收益本地网络seo公司
  • 网站免费php空间申请刚刚刚刚刚刚好痛
  • 临潼区建设局网站现在什么网络推广好
  • 做外贸做什么英文网站好江北seo页面优化公司
  • DNS污染与劫持
  • Java抽Oracle数据时编码问题
  • 二级域名分发源码最新开源版
  • Effective C++ 条款07:为多态基类声明virtual析构函数
  • [电网备考]计算机组成与原理
  • selenium完整版一览