几天前我正在使用 MongoDB 和聚合函数,但我无法得到我正在寻找的结果。
假设一个集合具有这样的文档:
[_id] => 2Q4YkrDUPIdMpHYdG7e801
[domain] => notedlinks.loc
[updateDate] => 1353582907
[pageCaches] => Array (
[0] => Array (
[url] => 421341234213470dfb61366
[data] => Array (
[domain] => notedlinks.loc
[url] => http://notedlinks.loc/sample/node
[contentHash] => 382a250d4c226bb85b910c04d1774bb7a9020e44
[percent] => 100
[info] => Array (
[results] => Array (
[0] => Array (
[tag] => Twitter
[url] => http://dbpedia.org/resource/Twitter
[references] => Array (
[0] => twitter
)
)
)
)
[updateDate] => 1353582907
)
)
[1] => Array (
[url] => 786527618a424234be70dfb61366
[data] => Array (
[domain] => notedlinks.loc
[url] => http://notedlinks.loc/sample/node
[contentHash] => 382a250d4c226bb85b910c04d1774bb7a9020e44
[percent] => 100
[info] => Array (
[results] => Array (
[0] => Array (
[tag] => Twitter
[url] => http://dbpedia.org/resource/Twitter
[references] => Array (
[0] => twitter
)
)
)
)
[updateDate] => 1353582907
)
)
)
最初,对于搜索,我有:要搜索的集合、_id 值和 url 值。
目的是针对特定的 url,例如:url: '786527618a424234be70dfb61366',以获取与该 url 关联的“数据”的值,而不加载所有文档内容。仅获取:
[data] => Array (
[domain] => notedlinks.loc
[url] => http://notedlinks.loc/sample/node
[contentHash] => 382a250d4c226bb85b910c04d1774bb7a9020e44
[percent] => 100
[info] => Array (
[results] => Array (
[0] => Array (
[tag] => Twitter
[url] => http://dbpedia.org/resource/Twitter
[references] => Array (
[0] => twitter
)
)
)
)
[updateDate] => 1353582907
)
我一直在使用一些表格,但没有成功的结果。例如:
db.dm_2Q.aggregate({ $match: { _id : "2Q4YkrDUPIdMpHYdG7e801"}, $unwind : "$pageCaches", $project : {pageCaches: 1}, $match : {"pageCaches.url" : "786527618a424234be70dfb61366"}});
{
"result" : [
{
"_id" : "2Q4YkrDUPIdMpHYdG7e801",
"pageCaches" : [
{
"url" : "786527618a42084367ccbe70dfb61366",
"data" : {
"domain" : "notedlinks.loc",
"url" : "http://notedlinks.loc/sample/node",
"contentHash" : "382a250d4c226bb85b910c04d1774bb7a9020e44",
"percent" : "100",
"info" : {
"results" : [
{
"tag" : "Twitter",
"url" : "http://dbpedia.org/resource/Twitter",
"references" : [
"twitter"
]
}
]
},
"updateDate" : 1353582907
}
},
{
"url" : "786527618a424234be70dfb61366",
"data" : {
"domain" : "notedlinks.loc",
"url" : "http://notedlinks.loc/sample/node",
"contentHash" : "382a250d4c226bb85b910c04d1774bb7a9020e44",
"percent" : "100",
"info" : {
"results" : [
{
"tag" : "Twitter",
"url" : "http://dbpedia.org/resource/Twitter",
"references" : [
"twitter"
]
}
]
},
"updateDate" : 1353582907
}
}
]
}
],
"ok" : 1
}