在Mysql中,我可以从另一个Select中进行选择。 所以我会问,如果我能在Mongodb做同样的事情。在mongodb中查找另一个发现
详细的解释,我需要在这个collection.So的history
对象与刚刚过去的dateTransaction
中检索的特定userOwner
的交易,如果这userOwner是不是在过去历史中,我们shoudn't检索到此交易。
我起初这个查询使用:
@Query(value = "{'history':{'$elemMatch':{'userOwner': ?0}}}")
但它返回甚至所有元素那些本userOwner是不是最后一个“dateTransaction”。
所以我的目标是去它返回每次交易刚刚过去dateTransaction与“历史”阵列的userOwner查询:
.find({},{dateTransaction: {$slice: 1} }).limit(1)
,做从这个彼此询问之后。
任何人都有一个想法或例子。
TNX
这是我收集所谓的 “作品”:
{
"_id" : ObjectId("1"),
"history" : [{
"userOwner" : "3",
"dateTransaction" : ISODate("2016-05-30T00:00:00.000+0000"),
}, {
"userOwner" : "1",
"dateTransaction" : ISODate("2016-05-26T00:00:00.000+0000"),
}, {
"userOwner" : "2",
"dateTransaction" : ISODate("2016-05-23T00:00:00.000+0000"),
}
]
}{
"_id" : ObjectId("2"),
"transactions" : [{
"userOwner" : "2",
"dateTransaction" : ISODate("2016-05-26T00:00:00.000+0000"),
}, {
"userOwner" : "3",
"dateTransaction" : ISODate("2016-05-15T00:00:00.000+0000"),
}
]
}{
"_id" : ObjectId("3"),
"transactions" : [{
"userOwner" : "2",
"dateTransaction" : ISODate("2016-05-26T00:00:00.000+0000"),
}, {
"userOwner" : "1",
"dateTransaction" : ISODate("2016-05-15T00:00:00.000+0000"),
}
]
}
作为例子为userOwner 2的结果应该是:
{
"_id" : ObjectId("2"),
"transactions" : [{
"userOwner" : "2",
"dateTransaction" : ISODate("2016-05-26T00:00:00.000+0000"),
}, {
"userOwner" : "3",
"dateTransaction" : ISODate("2016-05-15T00:00:00.000+0000"),
}
]
}{
"_id" : ObjectId("3"),
"transactions" : [{
"userOwner" : "2",
"dateTransaction" : ISODate("2016-05-26T00:00:00.000+0000"),
}, {
"userOwner" : "1",
"dateTransaction" : ISODate("2016-05-15T00:00:00.000+0000"),
}
]
}
你能否添加一些冗长?你知道你的头是什么,不,我们不:-) – profesor79
我的问题是可以理解的吗?我需要帮助。 – ShMswi
是否只有一个集合或更多?从select中选择可以有很多含义? – profesor79