我正在使用apache kafka来生成和使用5GB大小的文件.我想知道是否有一种方法可以在消费后自动删除主题中的消息.我有办法跟踪消费消息吗?我不想手动删除它.
我有一个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) 嗨,我想_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做到这一点?我对此完全陌生.
我有一个像
{
"_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但我的匹配部分不起作用.任何人都可以指导我哪里出错了?
例如,如果管理员登录我在标题中需要2个标签,如果用户登录我需要1个标签.如何处理?我已经包括,我想知道这个工作的JavaScript.
我正在使用spring 4和hibernate 4来上传数据库并从中检索图像.我已将多部分图像转换为字节数组并存储在数据库中.我的查询是如何从数据库中检索该图像并在jsp中显示字节数组而不将其存储在本地系统中.
我正在使用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中的Mongo db 3.0,并遇到文档大小超过16MB的情况.这个场景是我有一个主键列表(唯一记录),它应该作为嵌入式集合存在于文档中,并带有一些额外的字段.当pk超过16k时,我们会收到错误消息,说明已超出文档大小.我知道我们可以将集合保留在文档之外而不是嵌入它,但是因为在我们的场景中它是必需的,所以我们这样做.如果我们将它作为单独的集合保留在文档之外,它工作正常,但插入/更新变得非常慢,因为它必须搜索所有pk和插入/更新.
有没有其他方法可以实现这一目标?
我知道我们可以使用gridfs,但正如我所看到的那样,它主要用于在文件系统中存储图像/视频等.这当然不是我们想要的方式.
任何建议都会非常有用!!! 提前致谢.
我是kafka的新手,我现在在一台机器上运行kafka.我想在多台机器上的分布式环境中运行kafka.没有适当的文档.任何关于此的文档或建议都将非常有用.
我有一个像
_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)
这将打印每个卷号,然后是其计数。我的收藏非常庞大,因此很难追踪。有没有其他更简单的方法可以实现这一目标?
您好我正在使用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)
我不想手动指定地址.如果我查询地址,我应该得到这两个值.有什么建议?
我有一个像
{
"_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,它也会提供文档。谁能告诉我我哪里出错了?
我需要删除字符串中不是空格,零或字母字符的所有字符.我的正则表达式是name.replaceAll("[^\\s0A-Z]//", "").这不起作用.有什么建议?
java ×9
mongodb ×8
apache-kafka ×2
jsp ×2
dynamic ×1
hibernate ×1
javascript ×1
regex ×1
spring-mvc ×1