Mongodb Ref动态填充grapqhl?
我必须根据查询请求决定是否填充,但我不知道如何填充 以身作则 如果我的模型用户是 下面的语法来自typegoose和typegraphql 查询2Mongodb Ref动态填充grapqhl?,mongodb,graphql,typegraphql,typegoose,Mongodb,Graphql,Typegraphql,Typegoose,我必须根据查询请求决定是否填充,但我不知道如何填充 以身作则 如果我的模型用户是 下面的语法来自typegoose和typegraphql 查询2 user { name house { location } } 和在解析器中 User: () => { const user = UserModel.find(blahblah)**.populate("house")** return user } 查询1
user {
name
house {
location
}
}
和在解析器中
User: () => {
const user = UserModel.find(blahblah)**.populate("house")**
return user
}
查询1不需要填充但是查询2需要
在同一个解析器中 我想根据查询的要求决定是否填充。
在不知道解析器中的实际查询是什么的情况下,我无法决定是否填充 我在stackoverflow中发现了非常类似的问题 但是没有正确的答案。。。
我对graphql不太了解,但我认为如果请求该路径,有一些方法可以获得,因此以下方法应该有效:
let query = Model.find(basicQuery);
if (req.path) { // replace this with graphql's method to get if the path is requested
query = query.populate(yourPath);
}
const doc = await query.exec();
PS:但正如已经提到的,我认为在graphql(另一个解析器?)中有更好的方法来实现这一点不,它不是同一个解析器。。。它可以在优化。。。遵循一些[更好的]教程
User: () => {
const user = UserModel.find(blahblah)**.populate("house")**
return user
}
let query = Model.find(basicQuery);
if (req.path) { // replace this with graphql's method to get if the path is requested
query = query.populate(yourPath);
}
const doc = await query.exec();