Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否需要锁定mongodb中的每个文档?_Java_Mongodb_Interface_Mongo Java Driver - Fatal编程技术网

Java 是否需要锁定mongodb中的每个文档?

Java 是否需要锁定mongodb中的每个文档?,java,mongodb,interface,mongo-java-driver,Java,Mongodb,Interface,Mongo Java Driver,我是MongoDB的新手。我正在浏览这个链接: 我的问题是: 这项研究的目的是什么 iterable.forEach(new Block<Document>() { @Override public void apply(final Document document) { System.out.println(document); } }); iterable.forEach(新块(){ @凌驾 公开作废申请(最终文件){ 系统输出打

我是MongoDB的新手。我正在浏览这个链接:

我的问题是:

这项研究的目的是什么

iterable.forEach(new Block<Document>() {

    @Override
    public void apply(final Document document) {
        System.out.println(document);
    }

});
iterable.forEach(新块(){
@凌驾
公开作废申请(最终文件){
系统输出打印项次(文件);
}
});
有人能解释一下什么是
Block
apply


我只想读取mongodb中的数据。我不想更改其中的数据。

代码只是读取餐厅收藏中的所有文档,并在控制台上打印出每个文档。

在迭代过程中操作
文档是可选的方法

是一个
功能接口
(Java接口),允许您将
文档
修改为自定义对象(添加/编辑/删除数据,初始化自定义对象等)

因此,
Block
只有一个名为
apply
的方法,您需要在其中实现
文档
操作。在迭代过程中,
forEach
自动调用
apply
方法

您可以阅读有关功能接口的更多信息:

编辑:

要使用forEach更优雅,您可以执行以下操作:

  • 创建实现
    块的新类
    。因此,对于forEach方法,您可以传递类实例(
    iterable.forEach(newdocumentimpl())

    public类DocumentImpl实现块{
    公共作废申请(文档arg0){
    //在这里做事
    }
    }
    
  • 不推荐!不赞成。不要使用
    MongoDatabase数据库
    ,而是在与
    DBObject
    接口一起使用
    db数据库
    。因此,一旦使用
    find
    进行查询,就会得到
    DBCursor
    。您可以通过
    .next()
    迭代DBCursor,并获取
    DBObject
    文档

  • 使用更具可读性的Spring数据,并在MongoDB和POJO之间自动映射对象


  • 除了重写apply方法,还有其他方法吗?
    public class DocumentImpl implements Block<Document> {
    
        public void apply(Document arg0) {
            //Do stuff here
        }
    
    }