获得过 0 次赞
回答过的问题获得 0 次赞
分享过的文章/案例获得 0 次赞
评论与回复获得 0 次赞
换另外一个方式解决了。 price: _.gte(0).and(_.lte(2000)) 拆成两个条件 price: _.gte(0), price:_.lte(2000)
“云开发控制台-高级操作”中执行的结果 和 “云函数”中执行的结果不一样https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/command/Command.elemMatch.html 下面代码片段在“云开发控制台-高级操作”中执行的结果 和 “云函数”中执行的结果不一样:前者能查询到结果,而后者不能。 如果把下面这个条件去掉,则查询结果一致。所以推断是这个条件在云函数中执行有问题 price: _.gte(0).and(_.lte(2000)) 代码片段: db.collection("house") .aggregate() .lookup({ from: "room", localField: "_id", foreignField: "houseId", as: "room", }).match({ room: _.elemMatch({ status: 2, price: _.gte(0).and(_.lte(2000)) })} ).project({ houseId: 1, "room.status":1, "room.price":1, }) .end();
06-07