I'm new to Node JS and mongoDB and am trying to run a find
and then a update
, but it seems that's not possible. Anyone have an idea?
function CarrinhoDAO(conexao) {
this._conexao = conexao();
}
CarrinhoDAO.prototype.retira = function(res, email_cliente, id_produto, retira) {
this._conexao.open(function(erro, mongocliente) {
mongocliente.collection("carrinhos", function(erro, collection) {
collection.find({
$and: [
{ cliente: email_cliente },
{ estado: "aberto" },
{ lista_compras: { $size: 1 } }
]
}).toArray(function(erro, qtd) {
if (qtd.length == 1){
collection.update({
$and: [
{ cliente: email_cliente },
{ estado: "aberto" }
]
}, {
$pull: { lista_compras: { id_produto_carrinho: objectId(id_produto) } },
$unset: { supermercado: 1 }
}, function(erro, records) {
if (erro) {
res.end(erro);
} else {
res.json(records);
}
});
}
});
}
}
The result to get from find
depends on whether or not update
is executed.