简体   繁体   English

如何在对象数组 mongoose 中找到 object

[英]How to find object in array of objects mongoose

I have this schema (groupschema)我有这个架构(groupschema)

const mongoose = require('mongoose')

const GroupSchema = new mongoose.Schema({
CreatedBy:String,
Name:String,
Link:String,
Password:String,
Periods:Number,
Members:Array,

})

module.exports = mongoose.model('groups', GroupSchema, 'groups')

And Members is an array of objects.而成员是一个对象数组。 This is how members is stored.这就是成员的存储方式。

   Members[ {
    Email:req.user.email,
    DisplayName:displayname,
    GoogleId:req.user.googleId,
    Image:req.user.image,
    }]

I want to find the each user's object with their googleId.我想用他们的googleId找到每个用户的object。 How do I find their objects with just their googled looking through every single group document?我如何通过他们的谷歌搜索查看每个组文档来找到他们的对象?

I've tried this, but it keeps returning an empty array.我已经尝试过了,但它一直返回一个空数组。

 const datafound = await groupschema.find({ "Members": { googleId: req.user.googleId } });

Thank you谢谢

Fixed:固定的:

I did我做了

 const datafound = await groupschema.findOne({'Members': {$elemMatch: {googleId: req.body.googleId}}})

To match it to an object将其与 object 匹配

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM