MongoDB基于对象成员筛选对象数组内容
我有下面的objects数组,我想知道是否有一种方法可以将结果过滤为只返回QtyIn记录还是只返回QtyOut记录?任何暗示都将受到高度赞赏。谢谢你的帮助MongoDB基于对象成员筛选对象数组内容,mongodb,mongodb-query,aggregation-framework,Mongodb,Mongodb Query,Aggregation Framework,我有下面的objects数组,我想知道是否有一种方法可以将结果过滤为只返回QtyIn记录还是只返回QtyOut记录?任何暗示都将受到高度赞赏。谢谢你的帮助 { warehouseID: "1234", transactions : [ { "qtyIn" : "10", "transDateTime" : ISODate("2019-09-10T18:54:41.983Z") },
{
warehouseID: "1234",
transactions : [
{
"qtyIn" : "10",
"transDateTime" : ISODate("2019-09-10T18:54:41.983Z")
},
{
"qtyOut" : "11",
"transDateTime" : ISODate("2019-08-10T18:54:41.983Z")
},
{
"qtyOut" : "200",
"transDateTime" : ISODate("2019-02-10T11:54:41.983Z")
}
],
}
您可以在以下范围内将
qTyIn
与undefined
进行比较:
在
交易中
?还是作为根文档?
db.collection.aggregate([
{
$addFields: {
transactions: {
$filter: {
input: "$transactions",
cond: {
$ne: [ "$$this.qtyIn", null ]
}
}
}
}
}
])