我有这个简单的架构:
{
bank: {
transactions: [
{
notify: Boolean
}
]
}
}
我只想选择notify flag设置为true的事务, 我尝试了几种使用moongose的方法,但没有用,例如:
Bank.findById("58efbb1a88efbf2028d2f5a7")
.where("transactions.notify").equals(true)
.exec(function (err, tx) {
console.log(err);
console.log(res);
res.json(tx);
});
Bank.find({_id: "58efbb1a88efbf2028d2f5a7", "transactions": {$elemMatch : {"notify" : true}}},
function (err, txs) {
if (err) {
res.json(err);
} else {
res.json(txs);
}
});
无论如何使用moongose吗?
答案 0 :(得分:0)
Bank.aggregate([{
"$match": {
"_id": mongoose.Types.ObjectId("58efbb1a88efbf2028d2f5a7")
}
}, {
"$project": {
"transactions": {
"$filter": {
input: "$bank.transactions",
as: 'data',
cond: { "$eq": ["$$data.notify", true] }
}
}
}
}],
function(err, txs) {
if (err) {
res.json(err);
} else {
res.json(txs);
}
});
答案 1 :(得分:0)
my_word