我有一个具有以下结构的MongoDB集合:
_embedded: {
rh:doc: [
{
somevalue1: {...},
somevalue2: "garbage1"
interesting_date: 1520121600
},
{
somevalue1: {...},
somevalue2: "garbage2"
interesting_date: 1520121600
},
{
somevalue1: {...},
somevalue2: "garbage3"
interesting_date: 1520121600
},
...
]
}
如何使用MongoDB过滤器获取具有相同“interesting_date”值的所有记录?
这个集合是通过RESTHeart访问的,所以我必须通过JAVA中的http请求传递URI本身的过滤器。
如果这看起来很简单,请原谅我。我对应用程序端开发很新。
感谢。
答案 0 :(得分:1)
如果您只想查找具有相同日期的数据,那么您可以像这样执行查询..
db.user.find({ interesting_date: 1520121600 });
否则您可以使用$group
作为前提。
db.user.aggregate(
[
{
$group : {
_id : '$interesting_date' },
}
}
]);
或者您可以在$filter
$project
db.user.aggregate([
{
$project: {
interesting_date: {
$filter: {
input: "$doc",
as: "item",
cond: { $eq: [ "$$item.interesting_date", 1520121600 ] }
}
}
}
}
]);