en mis resolutores tengo un método para encontrar los gustos de los usuarios con
async function userBookmarks(args, context) { const user = checkAuth(context); const posts = await Post.find({likes: {userId: user.id}}) return posts; }Pero GraphQL devuelve una matriz vacía.
Como referencia, el modelo Post es
likes: [ { userId: String, createdAt: String }],Encontré un problema similar y lo solucioné definiendo el nombre de la colección MongoDB en la parte inferior de mi esquema MongoDB.
const UserSchema = new mongoose.Schema({ firstName: { type: String, required: true }, lastName: { type: String, required: true }, email: { type: String, required: true }, password: { type: String, required: true }, location: { type: String, required: false } }, { collection : 'Users' });EDITAR: use $ elemMatch para consultar varios campos.
const posts = await User.find({likes: {$elemMatch: {userId: user.id}}})