найти имя с каждым пользовательским идентификатором в документе, используя поиск - PullRequest
0 голосов
/ 14 октября 2019

Я работаю над постами и коллекцией пользователей. я хочу присоединиться к полям на основе Objectid, но путаю с несколькими условиями поиска. я хочу получить имя из коллекции пользователей, когда идентификатор пользователя входит в коллекцию постов, например post_userID, like_by, response_by, reply_by и т. д. Есть ли другой способ, скажите мне?

Может кто-нибудь помочь мне в этом? вот моя коллекция сообщений ---->

    {

        post_description: {
            type: String,
            required: true
        },
        post_userId: {
            type: String,
            required: true
        },
        post_likes: [{
            like_by: mongoose.Schema.ObjectId,
            like_date: { type: Date, default: Date.now, select: false },
            select: false
        }],
        post_views: [{
           view_by: mongoose.Schema.ObjectId
        }

    ],
        post_media: [{ media_type: String, media_url: String, media_thumbnail: String }],
        post_comments: [{
            response_by:mongoose.Schema.ObjectId,
            response_date: {
                type: Date,
                default: Date.now,
                select: false
            },
            response_comment: String,
            comment_reply: [{
                reply_by: mongoose.Schema.ObjectId,
                reply_response: String,
                reply_date: {
                    type: Date,
                    default: Date.now,
                    select: false
                },
            }],
            comment_like: [{
                like_by: mongoose.Schema.ObjectId,
                like_date: { type: Date, default: Date.now, select: false }
            }]
        }],
        share_post_source: {
            shared_userId: String,
            shared_postId: String
        },
        shared_user: [{
            shared_userId: String,
            shared_date: { type: Date, default: Date.now, select: false },
        }],
    },
    {
        versionKey: false,
        timestamps: true
    }
)

PostSchema.index({ post_description: "text"});
PostSchema.plugin(mongoosePaginate)
module.exports = mongoose.model('PostsFeed', PostSchema)

вот эта коллекция пользователей

  {
_id: {
      type: ObjectId
    },
    phone: {
      required: true,
      type: String,
      unique: true
    },
    name: {
      type: String//,
      //required: true
    },
    password: {
      type: String,
      //required: true,
      select: false
    },
    verification: {
      type: String
    },

  },
  {
    versionKey: false,
    timestamps: true
  }
)

UserSchema.index({ name: "text"});
UserSchema.plugin(mongoosePaginate)
module.exports = mongoose.model('User', UserSchema)

заранее спасибо.

...