[mongoose] how does populate relate to a non-_ id field?

new Schema({
    pid: {type: String, ref:  "product" },
    sid: {type: String, ref:  "sale" },
}));

suppose there are product and sale two collections

pid and sid both specify user_id of the product and sale collections instead of _ id

padding with populate always associates pid with the _ id of product, and then cannot be queried

is there any way that pid and sid specify user_id instead of _ id

seek the answer of the Great God

Mar.20,2021
MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1beb23d-31a39.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1beb23d-31a39.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?