Javascript 的 find() 函数不适用于数组嵌入文档

Javascript's find() function not working for array embedded documents

我正在尝试为博文构建一个 upvote/downvote 功能,无论用户之前是否点击过按钮都是必需的。但是 javascript find() 函数不起作用。有没有办法从数组中获取匹配的嵌入文档?

index.js

io.on( 'connection', function( socket ) {
console.log( 'a user has connected!' );

socket.on( 'disconnect', function() {
    console.log( 'user disconnected' );
});

socket.on( 'upvote-event', async function( upvote_flag , id) {
    console.log(typeof id);  //getting the post id from button click
    console.log(user.upvotes_downvotes); //upvote downvote array
    const post_Id = new ObjectID(id);
    const PreClicked = user.upvotes_downvotes.find(clicked => {
        console.log(clicked.postId,post_Id)
        return clicked.postId === post_Id; // where it is failing
    });
    var ok = false;
    console.log(PreClicked, post_Id); //PreClicked is always undefined :( 
    if(PreClicked === undefined)
    {
        upvote_count = 1;
        const newUpvote = { postId: post_Id, types: "upvote" };
       // console.log(user._id);
        await User.findOneAndUpdate({_id: user._id},
            { $push: 
                { 
                    upvotes_downvotes: newUpvote
              },
            },
        )
        
    }else if(PreClicked.types==="upvote"){ //Never goes here even if the upvoted posts exists in array
        upvote_count = -1;
       await User.findOneAndUpdate({_id: user._id},
        { $pull:
             { upvotes_downvotes:{
                  
                $elemMatch:{ 
                        postId: post_Id, types: "upvote" 
                    }
                }
             } 
        })
    }
 });

schema.js

const  Mongoose  = require('mongoose');
const Schema = Mongoose.Schema;
const passportLocalMongoose = require('passport-local-mongoose');

User  =  new Schema({
email : {
    type : String,
    required : true,
    unique : true
},
upvotes_downvotes:[{
    postId:{ type: Schema.Types.ObjectId , ref:'Post'},
    types: String
     }],

  });

 module.exports = Mongoose.model('User',User);

找到解决方案“=== is not applicable for documents and worked for .equals