Java 操作MongoDB 基本操作 -更新

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/wangming520liwei/article/details/59570044

Java 操作MongoDB 基本操作

需要下载驱动,并且依赖不多说:

看代码:

package com.payment;


import java.net.InetAddress;
import java.net.UnknownHostException;

import org.bson.Document;

import com.mongodb.MongoClient;
import com.mongodb.MongoClientOptions;
import com.mongodb.ServerAddress;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
  
//不需要认证  
public class LoginMongoDB {  
      
    /** 
     * 获得无密码验证的client 
     * @param ip 
     * @param port 
     * @return 
     */  
    public static MongoClient getClient(String ip,int port){  
        MongoClient client=null;  
        try {  
        MongoClientOptions.Builder build = new MongoClientOptions.Builder();  
        // 与数据最大连接数50  
        build.connectionsPerHost(50);  
        // 如果当前所有的connection都在使用中,则每个connection上可以有50个线程排队等待  
        build.threadsAllowedToBlockForConnectionMultiplier(50);  
        build.connectTimeout(1 * 60 * 1000);  
        build.maxWaitTime(2 * 60 * 1000);  
        MongoClientOptions options = build.build();  
        InetAddress inetAddress;  
      
            inetAddress = InetAddress.getByName(ip);  
          
        ServerAddress addr=new ServerAddress(inetAddress, port);//设置地址  
        client = new MongoClient(addr, options);  
        } catch (UnknownHostException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
        }  
        return client;  
    }  
      
      
    public static void main(String args[]) throws UnknownHostException {  
        MongoClientOptions.Builder build = new MongoClientOptions.Builder();  
        // 与数据最大连接数50  
        build.connectionsPerHost(50);  
        // 如果当前所有的connection都在使用中,则每个connection上可以有50个线程排队等待  
        build.threadsAllowedToBlockForConnectionMultiplier(50);  
        build.connectTimeout(1 * 60 * 1000);  
        build.maxWaitTime(2 * 60 * 1000);  
        MongoClientOptions options = build.build();  
        InetAddress inetAddress=InetAddress.getByName("127.0.0.1");  
        ServerAddress addr=new ServerAddress(inetAddress, 27017);//设置地址  
        MongoClient client = new MongoClient(addr, options);  
  
        // 获取数据库test,不存在的话,会自动建立该数据库  
        MongoDatabase db = client.getDatabase("mydb");  
  
        // 获取data集合,不存在的话,会自动建立该集合(相当于关系数据库中的数据表)  
        MongoCollection<Document> users = db.getCollection("ZF_FUNDINORDERPAYT");  
//        Document document = new Document();  
//        document.append("firstName", "lei");  
//        document.append("address", "sichuan chengdu");  
//        users.insertOne(document);  
        // MongoClient使用完后必须要close释放资源  
        for (Document cur : users.find()) {  
            System.out.println(cur.toJson());  
         }  
        
        client.close();  
    }  
}  

更新操作符
  名称        描述

  $inc        增加一个指定值

  $mul        乘以一个指定值

  $rename       重命名      

  $setOnInsert     更新操作对现有的文档没有影响,而是新插入了一个文档,则在这新插入的文档中加上指定字段

  $set        修改值

  $unset        删除文档中指定字段

  $min         更新文档中小于指定值的字段

  $max        更新文档中大于指定值的字段

  $currentDate    设置当前时间,日期或者时间戳

$set

只修改指定字段值,当字段不存在时,则在该文档中添加一个新的字段并赋值

doc.updateOne(Filters.eq("age", 20), new Document("$set",new Document("sex",2222)));
FindIterable<Document> iter1 = doc.find();
iter1.forEach(new Block<Document>() {
  public void apply(Document _doc) {
    System.out.println(_doc.toJson());
  }
});

参考资料:

猜你喜欢

转载自blog.csdn.net/wangming520liwei/article/details/59570044