【发布时间】:2020-01-09 21:09:41
【问题描述】:
我有一个从另一个实例中提取的对象 ID 数组。 这些对象 ID 代表用户模型中的用户 ID。我想使用这些对象 id 来获取用户详细信息
我是如何获得对象 ID 的
const chatrooms = await ChatRoom.find({owners:{$all:[user._id]}})
const allowners = chatrooms.flatMap(room => room.owners)
const vendors = allowners.filter(item => !item.equals(userid))
对象 ID
vendors = [
"5d6caee9bb6f2921f45caf1b",
"5d6dfcd6e3b11807944348b8",.....
]
用户架构
const userSchema = new mongoose.Schema({
name:{
type: String,
require: true,
trim:true
})
const User = mongoose.model('User', userSchema)
我尝试了一个不起作用的 for 循环
const vendorDetails = []
for(let i=0; i<=vendors.length; i++)
{
vendorDetails[i] = User.find({_id:vendors[i]})
}
console.log(vendorDetails)
我期待的结果是这样的
vendorDetails = [ { _id: 5d6caee9bb6f2921f45caf1b,
name: 'vithu'
},
{
_id: 5d6dfcd6e3b11807944348b8,
name: 'vcs'
}....]
【问题讨论】:
-
我试过 const vendorDetails = [] vendorDetails = User.find( { _id : { $in : vendor } } ) res.send(vendorDetails) 结果:{}
-
您需要使用重复问题的实际代码。
标签: node.js mongodb express mongoose