使用Mongoose的人口问题

时间:2013-08-18 17:45:20

标签: mongoose

很长一段时间我没有使用MongoDB,我正在做一些查询,而且有一个我无法实现的基本情况:

//Works fine
Db['group'].findOne({ token: "token" })
.exec();

//Doesn't return the result
Db['group'].findOne({ "User.pseudo": "John", token: "token" })
.populate('User')
.exec();

//Return undefined
Db['group'].findOne({ User: { pseudo: "John" }, token: "token" })
.populate('User')
.exec();

var UserSchemaModel = {
  pseudo: { type: String, required: true }
};

var GroupSchemaModel = {
  User: { type: mongoose.Schema.Types.ObjectId, ref: 'User' },
  token: { type: String, required: true }
};

也许不可能查询这个,我们必须解析所有与令牌匹配的用户,然后用javascript解析它以获取我们正在寻找的伪(换句话说,我们无法使用{{1在那种情况下)......?

1 个答案:

答案 0 :(得分:0)

要做的是将您的条件声明为populate()电话:

Db['group'].findOne({ token: "token" })
.populate('User', '', { pseudo: "John"} )
.exec();