如何获取我在猫鼬中填充得到的数组字段的第一项?
How to get the first item of an array field I get with populate in mongoose?
我有一个 mongodb 集合,当我 return 来自数据库的数据时,我想填充一个嵌套字段。我只想 return 特定字段,下面的代码有更多解释。
this is my schema
const hallSchema = new Schema({
hallName: { type: String, required: true },
email: { type: String, required: true },
images: [{ type: String, required: true }],
});
and this is code I'm writing to get the first image of the images array
chatRooms = await ChatRoom.find({ _id: convertedIds })
.populate("hallId", `hallName ${images[0]}`);
上面的查询失败,因为它无效,
我怎样才能得到图像数组的第一项?
感谢您的帮助
我的理解是,您想在 hallId 中填充数据,并从填充的 hallId 数据中填充图像数组中的第一个图像 select。因此,要从填充的数据中投影字段,您可以这样做,
它对我有用,
const chatRooms = await ChatRoom.find({ _id: convertedIds })
.populate({ path: 'hallId', select: {
hallName: 1,
images: { $slice: ['$images', 1] },
}
});
我有一个 mongodb 集合,当我 return 来自数据库的数据时,我想填充一个嵌套字段。我只想 return 特定字段,下面的代码有更多解释。
this is my schema
const hallSchema = new Schema({
hallName: { type: String, required: true },
email: { type: String, required: true },
images: [{ type: String, required: true }],
});
and this is code I'm writing to get the first image of the images array
chatRooms = await ChatRoom.find({ _id: convertedIds })
.populate("hallId", `hallName ${images[0]}`);
上面的查询失败,因为它无效, 我怎样才能得到图像数组的第一项? 感谢您的帮助
我的理解是,您想在 hallId 中填充数据,并从填充的 hallId 数据中填充图像数组中的第一个图像 select。因此,要从填充的数据中投影字段,您可以这样做, 它对我有用,
const chatRooms = await ChatRoom.find({ _id: convertedIds })
.populate({ path: 'hallId', select: {
hallName: 1,
images: { $slice: ['$images', 1] },
}
});