MongoDB使用回调 - MongoDB从入门到删库

回调函数的使用

所有Spring模板类的一个常见设计特性是,所有功能都被路由到模板的一个执行回调方法中。因此,使用这些执行回调是访问MongoDB驱动程序的MongoDatabaseMongoCollection对象以执行在MongoTemplate上没有作为方法公开的不常见操作的首选方法。例如:

使用CollectionCallback返回关于索引的信息:

    @Test
    public void testCallbackExec(){

        boolean hasIndex = mongoOps.execute(Venue.class, new CollectionCallback<Boolean>() {
            @Nullable
            @Override
            public Boolean doInCollection(MongoCollection<org.bson.Document> collection) throws MongoException, DataAccessException {
                final ListIndexesIterable<org.bson.Document> indexes = collection.listIndexes();
                for (org.bson.Document document : indexes) {
                    if ("location".equals(document.get("name"))) {
                        return true;
                    }
                }
                return false;
            }
        });

        Assert.assertEquals(true,hasIndex);
    }

下面的列表描述了执行回调方法。

方法描述
<T> T execute (Class<?> entityClass, CollectionCallback<T> action)为指定类的实体集合执行给定的CollectionCallback。
<T> T execute (String collectionName, CollectionCallback<T> action)对给定名称的集合执行给定的CollectionCallback。
<T> T execute (DbCallback<T> action)根据需要执行DbCallback转换任何异常。Spring Data MongoDB为2.2版本中引入的聚合框架提供了支持。
<T> T execute (String collectionName, DbCallback<T> action)对给定名称的集合执行DbCallback,根据需要转换任何异常。

转载于:https://my.oschina.net/u/1404949/blog/3039462

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值