我正在尝试将用户age
存储在MongoDB
上,我想动态计算用户的age
并在可能的情况下自动更新。
我正在考虑两种方法,一种是存储日期,并在查询时使用今天的日期作为参考并找出不同之处,但这是问题age
不会在{ {1}},我该如何解决?
另一种方法是为MongoDB
设置一个钩子,并触发API
来更新详细信息。
我的架构看起来像这样,尽管我正在计算保存时的年龄,但不会在需要时进行更新。同样,正如今天所说的那样,这也会影响我们的分析。
API
答案 0 :(得分:1)
在使用聚合框架进行查询时,您可以将其存储为DOB和项目年龄
db.getCollection('callmodels').aggregate([{
$project: {
name : 1,
email: 1,
age: {$trunc:{$divide: [ {$subtract: [new Date(), '$dob']},1000 * 60 * 60 * 24* 365]}}}
}
])