如何使用聚合在mongodb中显示日期的nx2值?
我想从数据库中获取2n个值。在下面的示例中,我需要在mongodb数据库集合中增加2个点的值如何使用聚合在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") }
{ "_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] } } }])