JunkingBoy

6.30MongoDB之条件操作符

描述

条件操作符用于比较两个表达式并从mongoDB集合中获取数据。

在本章节中,我们将讨论如何在MongoDB中使用条件操作符。

MongoDB中条件操作符有:

  • (>) 大于 - $gt

  • (<) 小于 - $lt

  • (>=) 大于等于 - $gte

  • (<= ) 小于等于 - $lte

为了测试这几个条件操作符,先清除集合中已有的数据

db.getCollection("teacher").remove({})

构造测试数据

document1=(
{
title:"Redis",
description:"Redis是一个很好的缓存数据库",
by:"JunBoy",
tags:[\'redis\'],
like:200
}
)
document2=(
{
title:\'Java\',
description:\'Java是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。\',
by:\'JunBoy\',
tags:[\'java\'],
like:150
}
)
document3=(
{
title:\'MongoDB\',
description:\'MongoDB 是一个 Nosql 数据库\',
by:\'JunBoy\',
tags:[\'mongodb\'],
like:100
}
)

将测试数据添加到集合中

db.getCollection("demo").insertMany(
[
document1,
document2,
document3
]
)

Java的方法

package mongodbtest;

import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.ServerAddress;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;

import java.util.ArrayList;
import java.util.List;

/**
* 使用MongoDB连接到服务器环境上
* @since JDK 1.8
* @date 0221/6/29
* @author Lucifer
*/
public class mongoconnection {

   /*配置属性*/
   private static final String MONGO_HOST = "localhost";
//   private static final Integer MONGO_PORT = 27037;
   private static final Integer MONGO_PORT = 27017;
//   private static final String MONGO_USER = "admin";
//   private static final String MONGO_PASSWORD = "r123456";
   private static final String MONGO_DB_NAME = "practice";
   private static final String GATHER_NAME = "teacher";
   private static final String GATHER_NAME2 = "demo";

   public static void getConnection(){
       /*用事务连接到远程的MongoDB服务器上*/
       try {
           /*使用java包下的类构造一个连接对象*/
           ServerAddress serverAddress = new ServerAddress(MONGO_HOST, MONGO_PORT);

           /*集群连接方法--->构造列表*/
           List<ServerAddress> addresses = new ArrayList<ServerAddress>();
           addresses.add(serverAddress);

//           /*使用Mongo包下的类MongoCredential建立连接对象*/
//           //三个参数:用户名、数据库名称、密码
//           MongoCredential credential = MongoCredential.createScramSha1Credential(MONGO_USER,
//                   MONGO_DB_NAME,
//                   MONGO_PASSWORD.toCharArray()); //最后一个形参需要转换成字符类型而不是字符串类型,使用toCharArray方法
//           /*集群连接方法--->构造列表*/
//           List<MongoCredential> credentials = new ArrayList<MongoCredential>();
//           credentials.add(credential);

           /*通过连接认证MongoDB连接--->使用MongoDBClient类下的方法*/
           MongoClient mongoClient = new MongoClient(addresses); //放入列表对象

           System.out.println("Connect to database successfully!");

           /*连接到数据库*/
           MongoDatabase mongoDatabase = mongoClient.getDatabase(MONGO_DB_NAME);

//           mongoDatabase.createCollection(GATHER_NAME2);
//           System.out.println("create gather successfully!");

           /*通过MongoCollection接口获取到集合*/
           MongoCollection<Document> collection = mongoDatabase.getCollection(GATHER_NAME);
           System.out.println("获取集合成功");

           //插入文档
           /*
           1、创建文档--->org.bson.Document(对应到MongoDB的文档数据类型).参数为key-value格式
           2、创建文档集合(List集合)
           3、将文档集合插入数据库集合中--->集合插入集合 mongoCollection.insertMany(List<Document>)
           插入单个文档可以用 mongoCollection.insertOne(Document)
            */

分类:

技术点:

相关文章: