【发布时间】:2015-03-28 16:23:36
【问题描述】:
假设我在 MongoDB 中有一组文档。是否存在用于查看字符串是否在值列表中的查询,如果是,则仅返回基于特定键值的不同文档?
{
"_id" : ObjectId("5504d11b6946aa2b4dff7e99"),
"states" : [
"AL",
"AZ",
"TX"
],
"name" : "Foo",
"rating" : "NR",
"url" : "www.domain.com",
};
{
"_id" : ObjectId("5504d11b6946aa2b4dff7e98"),
"states" : [
"AL",
"NJ",
"NY"
],
"name" : "Bar",
"rating" : "NR",
"url" : "www.domain.com",
};
{
"_id" : ObjectId("5504d11b6946aa2b4dff7e97"),
"states" : [
"AL",
"AZ",
"TX"
],
"name" : "The Grinch",
"rating" : "NR",
"url" : "www.domain.net",
}
例如,
如果 AL 在 states 中,则仅返回 URL 不同的集合 -
将返回上述示例中的第一个和最后一个集合。
db.collections.find({"states":{'$in':["AL"]}})
是我用来在列表中查找状态的。
db.collections.aggregate({ $group: { _id: '$url', n: { $max: '$states' } } }).
result 是我用来根据域获取不同集合的方法。
我遇到麻烦的地方是将两者结合在一个语句中。
【问题讨论】:
标签: mongodb