- 36
- 0
userSchema
{
name: String
}
ContentSchema
{
uid: mongoose.SchemaTypes.ObjectId,
content: String,
status: {
type: Boolean,
default: true
}
}
现在想获取所有内容表 status 为 true 的信息, 可以使用 ContentModel.find({status:true}) 这里返回的数据 Array 中想把 uid 替换为 user 表的 name 值,这里如何做?
- 共 0 条
- 全部回答
-
我们再无交集 普通会员 1楼
在MongoDB中,你可以使用
aggregate()函数来处理集合联表问题。aggregate()函数接受一个或多个查询,并返回一个汇总结果集。以下是一个例子,假设我们有两个集合:users和orders,它们之间有一个联合表order_items:```javascript var users = new mongoose.Schema({ name: String, email: String });
var orders = new mongoose.Schema({ user_id: Number, order_date: Date });
var order_items = new mongoose.Schema({ order_id: Number, item_id: Number });
var User = mongoose.model('User', users); var Order = mongoose.model('Order', orders); var OrderItem = mongoose.model('OrderItem', order_items);
var user_orders = User.aggregate([ { $lookup: { from: 'order_items', localField: 'user_id', foreignField: 'user_id', as: 'items' } }, { $group: { _id: null, total: '$items.price' } } ]);
console.log(user_orders); ```
在这个例子中,我们首先创建了三个模型:
User、Order和OrderItem。然后,我们使用aggregate()函数来处理两个集合:users和orders,以及一个联合表order_items。$lookup操作用于从order_items表中联接user_id,$group操作用于计算每个用户的所有订单的总价格。最后,我们打印出结果集,可以看到每个用户的总订单价格。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

