1、 最近用node写点小应用。用的是mongoose。有一个小问题。没弄懂(对于英文文档理解可能不到位或者没看懂)。
例如:
let videoSchema = mongoose.Schema({
videoId: {
type: mongoose.Schema.Types.ObjectId
},
key: {
type: String
},
author: {
type: String
},
createTime: {
type: Date,
default: Date.now()
},
updateTime: {
type: Date,
default: Date.now()
},
title: {
type: String,
require: true
}
})
module.exports = mongoose.model("video",videoSchema)
在这种情况下,使用video.find()查询出来的数据,是_id: xxxx以及其他的东西。
但是,我觉得直接将结果返回给前端很丑。尤其是哪个_id.例如,我想将查找出来的_id指定为videoId.不太清楚怎么操作。我目前是这样操作的。
video.find({},(err, videos) => {
videos.forEach(val => {
val.videoId = val._id;
delete val.id;
})
})
求一个正规方法。或者能告诉我在文档的哪个位置么?实在是没搞懂应该怎么弄才合适。
video.aggregate().project({videoId :"$_id"}).exec();
这样就OK