【发布时间】:2015-10-30 12:36:24
【问题描述】:
我有一个这样的模型:
User:
{
name: "test",
phone: "1234567890",
password: "test",
email: "test@tester.com",
tasks: {
{ task: "do this", timestamp: "2015-08-01" },
{ task: "then this", timestamp: "2015-08-05" },
{ task: "finally this", timestamp: "2015-08-07" }
}
},
... (more users) ...
如何获取特定用户的详细信息,例如姓名、电子邮件以及只有 1 个任务是最新的?
User.find({phone: '1234567890', password: 'test'}, '_id name email tasks', function(err, user) {
if (err)
res.json({result: false});
res.json({result: !(user == null), object: user});
});
这会返回所有任务。
【问题讨论】:
-
“最新的”到底是什么意思?任务是否总是有序的?你能忍受让它们总是有序的吗?如果是这样,那靠什么?时间戳?这对您的答案有所不同。 “时间戳”也是一个字符串,它可能应该是一个日期对象。
-
最新的是时间戳最新的任务,它将是一个日期对象。
-
好吧,我问的还有 “他们总是订购吗?” 如果不是,那么您选择了错误的答案(不是另一个合适)。这取决于“最后一个”数组项是否始终是您想要的。好像它们并不总是按日期顺序排列,这会有所不同。这就是我问的原因。
标签: node.js mongodb mongoose mongodb-query