0
对于NoSQL和Mongoose,我是一个新手。我一直在寻找一点,但无法真正找到我要找的东西(这让我更难以知道答案)。Mongoose NodeJS - 查找每个用户的最后一条插入记录
基本上,我有一个用户正在添加的记录列表。这些记录包含一些数据,我想要列出每个用户最新插入的消息。
在SQL中,我会写;
SELECT * FROM records ORDER BY inserted_date GROUP BY user_id;
这会返回一个像这样的集合;
[
{user: 2, insert_date: 2015-08-12T15:15:00, message: "Hi"},
{user: 3, insert_date: 2015-08-12T15:12:00, message: "Also hi"},
{user: 5, insert_date: 2015-08-12T15:14:00, message: "Not hi"}
]
我一直在环顾四周,发现一些答案,但这些似乎并没有工作。
我试过了;
https://stackoverflow.com/a/7570091/1493455
和其他一些总的thingie像这样;
Record.aggregate(
{},
{
$group: {
_id: '$user_id',
inserted: { $last: "$inserted" },
message: { $last: "$message" }
}
},
function(err, messages) {
console.log(err, messages);
}
);
我从另一个答案复制 - 但我真的不明白它在做什么,甚至应该做什么。
我当然可以为每个用户使用排序和限制查询,但这看起来效率很低。
我很高兴,如果有人能在正确的方向:)点我
我刚刚可能发现了一个重复的问题; http://stackoverflow.com/questions/29410749/mongoose-find-last-message-from-each-user?rq=1我会在一秒钟内回复。 –