复杂查询猫鼬-嵌入式文档数组

矿石

我想执行一个查询,以获取在该用户数组中具有userId的所有“组”文档。

我尝试了几种不同的查询方式,但是我总是得到一个空数组。

我究竟做错了什么?

group.js

let mongoose = require('mongoose');

const Group = mongoose.Schema({
    name: {
        type: String,
        required: true
    },
    users: [{
        userId: {
            type: mongoose.SchemaTypes.ObjectId,
            ref: 'users',
            required: true
        },
        userType: {
            type: String,
            required: true
        },
        userStatus: {
            type: String,
            required: true
        }
    }]
})

module.exports = mongoose.model('group', Group);

groupController.js

exports.getUserGroups = function (req, res) {
    Group.find({
        "users.userid": "req.user._id"
    }, function (err, groups) {
        if (err)
            res.send(err)
        res.json(groups);
    });
}
黑暗骑士

您可以尝试使用$in运算符

db.collection.find({
  "users.userId": {
    $in: [
      req.user._id
    ]
  }
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

猫鼬填充嵌入式

mongoid-查询嵌入式文档

Mongoid:基于嵌入式文档数组的大小查询

Mongo嵌入式文档查询

如何在猫鼬中使用$ set动态更新嵌入式文档

查询嵌入式文档数组给出错误答案

Mongodb聚合与猫鼬过滤器嵌入式文档

基于范围查询MongoDB中嵌入式文档的数组

查询Spring Data MongoDB中嵌入式文档的数组

猫鼬:使用$ pull删除嵌入式文档数组中的值(MongoDB 3.4版本)

在mongoDb中对嵌入式文档数组(3个级别)进行过滤查询

猫鼬:如何更新子嵌入式文档数组?

如何通过猫鼬查询返回嵌入式文档的过滤结果

如何在操作应该是原子的猫鼬中更新数组中的嵌入式文档,应更新最新版本并返回更新的文档?

Mongo嵌入式文档字段查询

如何在嵌入式数组mongodb中查询嵌入式文档

使用Presto查询MongoDB嵌入式/嵌套文档的数组

查询MongoDB中的嵌入式文档

在文档中引用文档的嵌入式数组的嵌入式数组上查询Doctrine2和MongoDB

春季查询嵌入式文档的数组

php:将mongodb嵌入式文档查询到数组中

流星-查询嵌入式文档

如何在MongoDB中查询数组中的单个嵌入式文档?

在浏览器中以猫鼬显示嵌入式文档数据模型

如何查询Mongodb的嵌入式数组

在数组的同一嵌入式文档中使用$ and两个条件查询

猫鼬嵌入式方案不能从嵌入式数组中删除

猫鼬对嵌入式文档数组中的某些元素进行计数

是否可以查询嵌入式文档?