小编Sha*_*Ali的帖子

在KAFKA中消费后删除消息

我正在使用apache kafka来生成和使用5GB大小的文件.我想知道是否有一种方法可以在消费后自动删除主题中的消息.我有办法跟踪消费消息吗?我不想手动删除它.

apache-kafka kafka-consumer-api

33
推荐指数
3
解决办法
3万
查看次数

如何使用具有新值的java在mongodb中的现有集合中追加现有数组

我有一个mongo集合,如:

{
    "_id": ObjectId("55cad746aed75601b4822cc9"),
    "entityId": "12",
    "entityType": "a",
    "nameIdentity": [{
        "fName": "abc",
        "lName": "def",
        "dob": "00",
        "address": "xyz"
    },

    ]
}
Run Code Online (Sandbox Code Playgroud)

我正在使用mongodb java 3.0驱动程序并尝试匹配和更新.例如:我试图匹配,entityId如果它找到然后添加新的nameIdentity.

我第二次通过

{
    "fName": "123",
    "lName": "456",
    "dob": "00",
    "address": "789"
}
Run Code Online (Sandbox Code Playgroud)

对于我的entityId: 12匹配,那么我的新系列应该是这样的:

{
    "_id": ObjectId("55cad746aed75601b4822cc9"),
    "entityId": "12",
    "entityType": "a",
    "nameIdentity": [{
    "fName": "abc",
    "lName": "def",
    "dob": "00",
    "address": "xyz"
    }, {
    "fName": "123",
    "lName": "456",
    "dob": "00",
    "address": "789"
    }]
}
Run Code Online (Sandbox Code Playgroud)

我想将它添加到相同的匹配对象或集合中.但它取代了以前的数组,并添加了这样的新:

{
    "_id": ObjectId("55cad746aed75601b4822cc9"),
    "entityId": "12", …
Run Code Online (Sandbox Code Playgroud)

java mongodb mongodb-query

8
推荐指数
1
解决办法
7388
查看次数

使用java在mongodb中自动增加序列

嗨,我想_id使用java在mongodb中自动增加.我对此完全陌生.在文档中,我找到了这样的解决方案:

db.counters.insert(
 {
      _id: "userid",
      seq: 0
   }
)


function getNextSequence(name) {
var ret = db.counters.findAndModify(
{
query: { _id: name },
update: { $inc: { seq: 1 } },
new: true
}
);
return ret.seq;
}

db.users.insert(
{
_id: getNextSequence("userid"),
name: "Sarah C."
}
)
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我如何使用java做到这一点?我对此完全陌生.

java mongodb mongodb-query

8
推荐指数
1
解决办法
1万
查看次数

MongoDB项目计数大于2的文档

我有一个像

{
    "_id": "201503110040020021",
    "Line": "1", // several documents may have this Line value
    "LineStart": ISODate("2015-03-11T06:49:35.000Z"),
    "SSCEXPEND": [{
            "Secuence": 10,
            "Title": 1,
        },
        {
            "Secuence": 183,
            "Title": 613,
        },
        ...
    ],

} {
    "_id": "201503110040020022",
    "Line": "1", // several documents may have this Line value
    "LineStart": ISODate("2015-03-11T06:49:35.000Z"),
    "SSCEXPEND": [{
            "Secuence": 10,
            "Title": 1,
        },

    ],

}
Run Code Online (Sandbox Code Playgroud)

SSCEXPEND是一个数组.我试图计算SSC数组和项目的大小,如果计数大于或等于2.我的查询是这样的

db.entity.aggregate(
   [
      {
         $project: {
            SSCEXPEND_count: {$size: "$SSCEXPEND"}
         }
      },
      {
        $match: {
            "SSCEXPEND_count2": {$gte: ["$SSCEXPEND_count",2]}
         }
      }
   ]
)
Run Code Online (Sandbox Code Playgroud)

我希望输出只是数组大小大于2的第一个文档.

项目部分工作正常,我能够得到计数,但我只需要计划那些计数大于或等于2但我的匹配部分不起作用.任何人都可以指导我哪里出错了?

mongodb mongodb-query

7
推荐指数
2
解决办法
9621
查看次数

我有一个header.jsp,其样式不断更改为不同的登录,它是一个动态标头

例如,如果管理员登录我在标题中需要2个标签,如果用户登录我需要1个标签.如何处理?我已经包括,我想知道这个工作的JavaScript.

javascript java jsp dynamic

6
推荐指数
1
解决办法
80
查看次数

在spring mvc上传图片

我正在使用spring 4和hibernate 4来上传数据库并从中检索图像.我已将多部分图像转换为字节数组并存储在数据库中.我的查询是如何从数据库中检索该图像并在jsp中显示字节数组而不将其存储在本地系统中.

java model-view-controller jsp hibernate spring-mvc

6
推荐指数
1
解决办法
6761
查看次数

如何在mongodb和Java中使用$和两个文件?

我正在使用mongodb与Java 3.0驱动程序.我有一个场景,我必须执行逻辑,即$and在我的查询.例如,我已经创建了两个文档,我正在尝试这样做:

iterable = mongoDatabase.getCollection("restaurants").find(
                                              new Document("$and", asList(abc,
                                                     updatedDocumentTypeOne)));
Run Code Online (Sandbox Code Playgroud)

哪里abc是一个文件,updatedDocumentTypeOne是另一个文件.我在mongodb手册中发现了这个,但是我在第一次创建asList方法时遇到错误.

或者如何在Java中复制以下内容:

db.inventory.find( {
    $and : [
        { $or : [ { price : 0.99 }, { price : 1.99 } ] },
        { $or : [ { sale : true }, { qty : { $lt : 20 } } ] }
    ]
} )`
Run Code Online (Sandbox Code Playgroud)

java mongodb mongodb-query

6
推荐指数
2
解决办法
2540
查看次数

使用java将超过16mb的文档插入Mongo db 3.0

我一直在评估java中的Mongo db 3.0,并遇到文档大小超过16MB的情况.这个场景是我有一个主键列表(唯一记录),它应该作为嵌入式集合存在于文档中,并带有一些额外的字段.当pk超过16k时,我们会收到错误消息,说明已超出文档大小.我知道我们可以将集合保留在文档之外而不是嵌入它,但是因为在我们的场景中它是必需的,所以我们这样做.如果我们将它作为单独的集合保留在文档之外,它工作正常,但插入/更新变得非常慢,因为它必须搜索所有pk和插入/更新.

有没有其他方法可以实现这一目标?

我知道我们可以使用gridfs,但正如我所看到的那样,它主要用于在文件系统中存储图像/视频等.这当然不是我们想要的方式.

任何建议都会非常有用!!! 提前致谢.

java mongodb mongodb-query

6
推荐指数
1
解决办法
1000
查看次数

Kafka在分布式系统中

我是kafka的新手,我现在在一台机器上运行kafka.我想在多台机器上的分布式环境中运行kafka.没有适当的文档.任何关于此的文档或建议都将非常有用.

apache-kafka

5
推荐指数
1
解决办法
3801
查看次数

计算mongodb中出现多次的字段值

我有一个像

_id: ObjectId("568f93b5e0ce9f35377c723e")
 rollNo: "123"

 _id: ObjectId("568f93b5e0ce9f35377c723g")
 rollNo: "111"

 _id: ObjectId("568f93b5e0ce9f35377c723g")
 rollNo: "123"
Run Code Online (Sandbox Code Playgroud)

我想查询并获取不同卷号的计数。例如,从我上面的收藏中,我应该得到计数为 2。而且我还想打印出现次数超过 1 的卷号,例如,从我上面的收藏中,应该打印 123 号卷。

我试过

db.student.aggregate([
    { "$group": {
        "_id": "$rollNo",
        "count": { "$sum": 1 }
    }}
],function(err,result) {

});
Run Code Online (Sandbox Code Playgroud)

这将打印每个卷号,然后是其计数。我的收藏非常庞大,因此很难追踪。有没有其他更简单的方法可以实现这一目标?

java mongodb mongodb-query

4
推荐指数
1
解决办法
4354
查看次数

Mongodb java驱动3.0查询

您好我正在使用mongodb java驱动程序3.0.我有一个文件,如:

db.employee.find().pretty()

   "_id" : ObjectId("559e4ae4aed7561c94e565d5"),
   "empid" : 1,
   "name" : "abc",
   "dob" : "17/05/1990",
   "address" : [
           "559e4ae3aed7561c94e565d3",
           "559e4ae4aed7561c94e565d4"
   ]
Run Code Online (Sandbox Code Playgroud)

我想查询地址字段并获取所有地址(在我的情况下是上面的那些值),而不指定哪个值.我的代码是:

FindIterable<Document> iterable = mongoDatabase.getCollection("employee").find(
        new Document("address", 559e4ae3aed7561c94e565d3));
iterable.forEach(new Block<Document>() {
    @Override
    public void apply(final Document document) 
        System.out.println(document);
    }
});  
Run Code Online (Sandbox Code Playgroud)

我不想手动指定地址.如果我查询地址,我应该得到这两个值.有什么建议?

java mongodb

3
推荐指数
1
解决办法
546
查看次数

如何返回数组字段大小大于给定数字的所有文档?

我有一个像

{
    "_id": ObjectId('56a77bfae0ce9f6a738cb2b7'),
    "nameIdentity": [
        {
            "givenNameOne": "LATANYA",
            "givenNameThree": "BIZOR",
            "lastName": "BIZOR",
            "sourceReferenceId": [
                {
                    "sourceReferenceId": "56a77bfae0ce9f6a738cb2b5",
                    "sourceName": "A"
                },
                {
                    "sourceReferenceId": "56a77bfae0ce9f6a738cb2b5",
                    "sourceName": "B"
                }
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

nameIdentity 是一个数组,而 sourceReferenceId 是 nameIdentity 中的一个嵌套数组。我正在尝试获取 sourceReferenceId 大小大于 2 的文档。我使用了这样的聚合:

db.entity.aggregate(
   [
      {
         $project: {
            nameIdentity_count: {$size: "$nameIdentity.sourceReferenceId"}
         }
      },
      {
        "$match": {
            "nameIdentity_count": { "$gte": 2 }
         }
    }
   ]
)
Run Code Online (Sandbox Code Playgroud)

这没有按预期工作,即使只有一个 soureReferenceId,它也会提供文档。谁能告诉我我哪里出错了?

mongodb mongodb-query aggregation-framework

3
推荐指数
1
解决办法
7813
查看次数

删除所有不是空格,零或字母字符的字符

我需要删除字符串中不是空格,零或字母字符的所有字符.我的正则表达式是name.replaceAll("[^\\s0A-Z]//", "").这不起作用.有什么建议?

java regex

1
推荐指数
1
解决办法
41
查看次数