【发布时间】:2019-01-01 08:53:39
【问题描述】:
这是我的模型:
var RaceSchema = new mongoose.Schema({
name: {
type: String
},
owner:{
type: mongoose.Schema.ObjectId, ref:"user"
}
});
var UserSchema = new mongoose.Schema({
username: {
type: String
}
});
这是我的收藏示例:
//Races
{
"_id": {
"$oid": "5b5740c54befec2594ce4cb0"
},
"name": "Race1"
"owner": {
"$oid": "5b34f870e1eef640f8cb43e4"
}
}
//User
{
"_id": {
"$oid": "5b34f870e1eef640f8cb43e4"
},
"username":"admin"
}
我想查找所有者与字段 username 匹配的种族。我是说: "我想查找所有者为 admin 的种族"
我正在尝试这个:
Race.find().populate('users', {username: 'admin'}).exec(function (err, races) {
....
}
但结果总是一样的,搜索给了我所有的种族。
编辑 1
SQL 语句是:
Select * FROM Races,Users WHERE owner=user._id AND user.username='admin'
或者类似的东西
【问题讨论】:
-
如何使用
find属性并指定您真正想要查找的内容?
标签: javascript node.js mongoose populate