查询在 MongoDB 中查找子文档
Query to find a subdocument in MongoDB
好的,我有一个简单的问题。我在 MongoDB 中有一个简单的文档,其中包含一个名为 "penalties" 的子文档。
现在我想通过子文档("penalties")中的字符串找到文档(这里有_id "Cammeritz"),例如"penaltyid = 0f77d885-6597-3f47-afb1-0cee2ea3ece1"。你能帮帮我吗?最好是对 Java 的解释,但如果您只是帮助进行正常的 MongoDB 查询也没关系。
{
"_id" : "Cammeritz",
"penalties" : [
{
"_id" : null,
"date" : ISODate("2017-09-25T20:01:23.582Z"),
"penaltyid" : "0f77d885-6597-3f47-afb1-0cee2ea3ece1",
"reason" : "Hacking",
"teammember" : "Luis",
"type" : "ban"
},
{
"_id" : null,
"date" : ISODate("2017-09-25T20:01:23.594Z"),
"penaltyid" : "7f5411b0-e66a-33b3-ac4f-4f3159aa88a9",
"reason" : "Spam",
"teammember" : "BluingFX",
"type" : "kick"
}
],
"isBanned" : true,
"isMuted" : false
}
糟糕,我看错了你的问题。您需要使用点符号。 db.collection.find( { penalties.penaltyid: '0f77d885-6597-3f47-afb1-0cee2ea3ece1' } )
有关详细信息,请参阅 Query on a Nested Field。
原回答:
db.collection.find( { penalties: "0f77d885-6597-3f47-afb1-0cee2ea3ece1" } )
应该可以。有关更多信息,请参阅 mongodb 文档中的 Query an Array for an Element。我对 Java 不是很熟悉,所以帮不上什么忙。
好的,我有一个简单的问题。我在 MongoDB 中有一个简单的文档,其中包含一个名为 "penalties" 的子文档。 现在我想通过子文档("penalties")中的字符串找到文档(这里有_id "Cammeritz"),例如"penaltyid = 0f77d885-6597-3f47-afb1-0cee2ea3ece1"。你能帮帮我吗?最好是对 Java 的解释,但如果您只是帮助进行正常的 MongoDB 查询也没关系。
{
"_id" : "Cammeritz",
"penalties" : [
{
"_id" : null,
"date" : ISODate("2017-09-25T20:01:23.582Z"),
"penaltyid" : "0f77d885-6597-3f47-afb1-0cee2ea3ece1",
"reason" : "Hacking",
"teammember" : "Luis",
"type" : "ban"
},
{
"_id" : null,
"date" : ISODate("2017-09-25T20:01:23.594Z"),
"penaltyid" : "7f5411b0-e66a-33b3-ac4f-4f3159aa88a9",
"reason" : "Spam",
"teammember" : "BluingFX",
"type" : "kick"
}
],
"isBanned" : true,
"isMuted" : false
}
糟糕,我看错了你的问题。您需要使用点符号。 db.collection.find( { penalties.penaltyid: '0f77d885-6597-3f47-afb1-0cee2ea3ece1' } )
有关详细信息,请参阅 Query on a Nested Field。
原回答:
db.collection.find( { penalties: "0f77d885-6597-3f47-afb1-0cee2ea3ece1" } )
应该可以。有关更多信息,请参阅 mongodb 文档中的 Query an Array for an Element。我对 Java 不是很熟悉,所以帮不上什么忙。