在猫鼬& node.js
我想在一个查询中获取用户的朋友(状态正常)设备信息。。
UserSchema位于下方。
var UserSchema = new Schema({
id : { //emaild
type : String,
unique : true
},
device : []
ade : {
friend : [FriendSchema]
}
});
FriendSchema。
var FriendSchema = new Schema({
user_id : {
type : Schema.Types.ObjectId,
ref : 'User'
},
status : {
type : String,
'enum' : ['ok', 'rec', 'rec_none', 'app', 'deny']
},
});
我试过这样的。但是,有很多问题......
我用谷歌搜索,有些页面让我做mapreduce,但我不知道怎么做。
添加----------------------
用户数据库
{
"_id" : ObjectId("55f2258cef24cf80230e0b36"),
"id" : "a@gmail.com",
"device" : [
{
"os" : "iOS",
"version" : "8.4.1",
"token" : "(null)",
"locale" : "en"
}
],
"ade" : {
"friend" : [
{
"status" : "app",
"user_id" : ObjectId("55f22820ef24cf80230e0b37")
}
]
}
}
{
"_id" : ObjectId("55f66fefef24cf80230e0b3a"),
"id" : "b@gmail.com",
"ade" : {
"friend" : [
{
"status" : "ok",
"user_id" : ObjectId("55f22820ef24cf80230e0b37")
}
]
},
"device" : [
{
"os" : "Android",
"version" : "6.0",
"token" : "t",
"locale" : "en"
},
{
"os" : "Android",
"version" : "6.0",
"token" : "t",
"locale" : "en"
}
]
}
{
"_id" : ObjectId("55f22820ef24cf80230e0b37"),
"id" : "c@gmail.com",
"ade" : {
"friend" : [
{
"status" : "ok",
"user_id" : ObjectId("55f66fefef24cf80230e0b3a")
},
{
"status" : "rec",
"user_id" : ObjectId("55f2258cef24cf80230e0b36")
}
]
},
"device" : [
{
"os" : "Android",
"version" : "4.4.2",
"token" : "t",
"locale" : "en"
}
]
}