Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用聚合在mongodb中显示日期的nx2值?_Mongodb_Nosql_Aggregation_Nosql Aggregation - Fatal编程技术网

如何使用聚合在mongodb中显示日期的nx2值?

如何使用聚合在mongodb中显示日期的nx2值?,mongodb,nosql,aggregation,nosql-aggregation,Mongodb,Nosql,Aggregation,Nosql Aggregation,我想从数据库中获取2n个值。在下面的示例中,我需要在mongodb数据库集合中增加2个点的值 { "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate("2014-03-01T08:00:00Z") } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate("2014-03-01T09:00:00Z") }

我想从数据库中获取2n个值。在下面的示例中,我需要在mongodb数据库集合中增加2个点的值

{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate("2014-03-01T08:00:00Z") }
{ "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate("2014-03-01T09:00:00Z") }
{ "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate("2014-03-15T09:00:00Z") }
{ "_id" : 4, "item" : "xyz", "price" : 5, "quantity" : 20, "date" : ISODate("2014-04-04T11:21:39.736Z") }
{ "_id" : 5, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate("2014-04-04T21:23:13.331Z") }
我期望的输出是这样的

 { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate("2014-03-01T09:00:00Z") }
{ "_id" : 4, "item" : "xyz", "price" : 5, "quantity" : 20, "date" : ISODate("2014-04-04T11:21:39.736Z") }
..............
您可以将模运算符用于查找查询:

或如您的问题标题中所述的聚合查询:


你试过什么吗?很难理解你期望的确切行为。从标题上看,您似乎希望筛选偶数日期,但我找不到与日期相关的输入和输出之间的模式。你只是在看偶数id值吗?是的偶数id值或我们更喜欢的值。你说得对@xaiver Guihot
db.collection.find({ _id: { $mod: [2, 0]} })
db.collection.aggregate([{ $match: { _id: { $mod: [2, 0] } } }])