我的mongodb结构
//First user
_id:ObjectId("12345")
name:"prudhvi"
authors:Array
0:Object
authorId:"77777"
authortitle:"medicine"
1:Object
authorId:"66666"
authortitle:"Hospital"
//second user
_id:ObjectId("67890")
name:"venkat"
authors:Array
0:Object
authorId:"55555"
authortitle:"Doctor"
1:Object
authorId:"44444"
authortitle:"Nurse"
有人可以帮忙吗?我有两个用户,关于这一点,我只需要获取authors数组的最新对象。这里我最新的Object是1:Object,如果再添加一个,我需要获取所有用户数据的2:Object。
我试图这样,但是我正在获取authors数组的所有对象,但是我需要获取最新的对象
userRouter.post('/getAuthors', function (req, res) {
Collections.user.find(req.body.user, function (err, result) {
if (err) res.status(500).send("There was a problem finding the user");
if (result.length > 0) {
res.status(200).send(result[0].authors);
}
}).select({ "authors": 1 });
});
答案 0 :(得分:1)
答案 1 :(得分:0)
在猫鼬模式中,您可以设置时间戳。当您从该架构创建对象时,它将自动设置createdAt
时间戳;如果您编辑该特定对象,它将设置updatedAt
时间戳。
作为示例架构,
const mongoose = require('mongoose');
const markSchema = mongoose.Schema({
_id: mongoose.Schema.Types.ObjectId,
mark: { type: Number },
student: { type: String },
},{
timestamps: true
});
module.exports = mongoose.model('Mark', markSchema);
您可以设置时间戳。