gpt4 book ai didi

mongodb - 如何根据对不同集合的查找调用的结果在 mongodb 集合中查找记录?

转载 作者:可可西里 更新时间:2023-11-01 10:01:02 26 4
gpt4 key购买 nike

我有以下收藏:

RideOffers:用户在网站上发布的乘车优惠集合,以及BidsOnOffers:对上述乘车报价的出价集合。每个出价仅与一个乘车报价相关联

我想向用户发送她发布的乘车报价的出价列表,但不是所有乘车报价的所有出价:用户应该只能看到她的骑手报价的出价,而不是任何为其他人的乘车报价出价。关于我该怎么做的任何想法?这是我到目前为止的想法:

Meteor.publish('RideOffers', function() { 
return RideOffers.find();
});

Meteor.publish('BidsOnMyOffers', function() {
var MyRideOffers = RideOffers.find({userId: this.userId, active: true});
return BidsOnOffers.find({ offerId: {$in : [MyRideOffers._id]}, active: true});
});

这显然行不通,我想有问题的部分是 {$in : [MyRideOffers._id]}。我是否尝试从 MyRideOffers 获取一组 _id 值?还是我的方法完全错误?

最佳答案

你的方法是对的,但是你的语法是错误的。

要从您的 RideOffers 集合构建一个 id 数组,请使用 fetch(从 Meteor 游标)获取文档数组,并使用“fields”选项从这些文档中仅选择 _id 属性:

var myRideOffersIds=RideOffers.find({
userId:this.userId,
active:true
},{
fields:{
_id:1
}
}).fetch();

然后你可以将这个变量与 $in 一起使用:

return BidsOnOffers.find({
offerId:{
$in:myRideOffersIds
},
active:true
});

关于mongodb - 如何根据对不同集合的查找调用的结果在 mongodb 集合中查找记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19040900/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com