MongoDB查询以查找引用模型的ID
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB查询以查找引用模型的ID相关的知识,希望对你有一定的参考价值。
我试图找到一个引用另一个模型的模型的ID。我有一个由一系列挑战组成的用户模型,我必须找到特定用户存在的挑战ID
我的用户模型:
var UserSchema = new mongoose.Schema({
image: String,
displayName: String,
firstName: String,
lastName: String,
password: String,
email: String,
createdAt: Date,
accessToken: String,
isLoggedIn: Boolean,
challenges:[
{
type: mongoose.Schema.Types.ObjectId,
ref:"Challenge"
}
]
});
我的挑战模型:
var ChallengeSchema = new mongoose.Schema({
winner: Boolean,
score: String
});
例如:如果我的用户ID为1且质询ID为89,我必须检查id为1的特定用户是否存在质询ID。
答案
MongoDB是面向文档的,没有连接。理论上,关于一个对象的所有数据都存储在这样的dbs中的一个文档中。因此,在您的情况下,我们的用户会遇到一系列挑战。
另一答案
这是用于检查对于id为1的特定用户是否存在质询id(89)的查询。
User.count({
_id: 1, // User ID
challenges: {
"$in": [89] // Challenge Id
}
}).exec(function(err, count){
if(err){
// Handle error
} else {
if(count > 0){
// If count greater than 0 than user(ID-1) contains challenge(ID-89)
}
}
});
以上是关于MongoDB查询以查找引用模型的ID的主要内容,如果未能解决你的问题,请参考以下文章
MongoDb:将模型字段从字符串数组修改为引用另一个模型的 id 数组的最佳方法是啥?