如何解决键为数字时,子文档中的Mongo查询
我有一个mongo文档结构,我不知道如何查询。面临的挑战是我要find
在一个子文档上,该子文档的键是十六进制值但作为字符串。
rs0:SECONDARY> db['o-plan'].findOne();
{
"_id" : ObjectId("5b198d11794c820001ee3c1c"),"activities" : {
"5b198ddba555c20001fc26e8" : [
"5b198dc3fbfd9c0001402074"
],"5b198d8c794c820001ee3c25" : [ ],"5b198da4794c820001ee3c2e" : [ ],"5b198dc3fbfd9c0001402074" : [
"5b198d8c794c820001ee3c25","5b198da4794c820001ee3c2e"
]
},"createdByUser" : "kfrog","createdDate" : ISODate("2018-06-07T19:52:49.866Z"),"displayId" : "OP-1","displayName" : "Flux Capacitor","id" : ObjectId("5b198d11794c820001ee3c1d"),"modifiedByUser" : "kfrog","modifiedDate" : ISODate("2018-06-12T19:43:00.403Z"),"ownerUsername" : "kfrog","releaseStatus" : "PENDING","revisionId" : ObjectId("5b198def794c820001ee3c3d"),"version" : 1
}
我试图找到其活动子文档包含键“ 5b198ddba555c20001fc26e8”的文档,但没有任何结果。在mongo中如何做到这一点?
rs0:SECONDARY> db['o-plan'].find(
{
activities: {
'5b198ddba555c20001fc26e8': { $exists: true }
}
}
).pretty();
rs0:SECONDARY>
馆藏名称和文档架构都有些病态,但这就是我要处理的约束。必须有一种查询方法。
当键实际上是数字时,如何在子文档中查找?
解决方法
使用点符号:
db.foo.find( { 'activities.5b198ddba555c20001fc26e8': { $exists: true } } ).pretty();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。