【发布时间】:2017-01-03 17:28:36
【问题描述】:
我有一个group 对象,其中包含一个members 属性。 members 属性是一个对象数组。该对象具有以下属性。
{"id" : "1", "status" : 1}
我的要求是获取给定group 对象(通过给定ID)的状态为1 的用户列表。
这是可以做到的,只需通过简单的 ID 查询和 foreach 获取。但想知道,是否有任何提前查询可以做到这一点。
我的总体组对象如下。
var UserSchema = new Schema({
user_id:{
type : Schema.ObjectId,
ref : 'User',
default : null
},
status:{
type : Number,
default : null /* 1 - pending | 2 - rejected | 3 - accepted*/
},
});
var GroupSchema = new Schema({
type:{
type : Number,
default : 1 /* 1 - group | 2 - community*/
},
name:{
type:String,
default:null
},
members:[UserSchema]
},{collection:"groups"});
提前谢谢你。
【问题讨论】:
-
您是指给定的 group 对象而不是 post 对象吗?
-
与其给出 Schema 定义,不如分享一些示例文档和预期的输出,这样很容易理解您要完成的工作。
-
@chridam
group对象。编辑了问题。 -
@suzo 我的预期结果是一组成员,他们的状态为一。
-
你能检查我的答案并告诉我这是否是你所期望的吗?
标签: node.js mongodb mongoose mongodb-query aggregation-framework