我有两个模型;一个用于用户,另一个用于学习组。每个StudyGroup都有一个唯一的GUID
字段。用户模型有一个studyGroups字段,它是字符串GUID
的数组。一个用户可以加入多个学习组。
用户模型
const userSchema = new Schema({
cuid: { type: 'String', required: true },
firstName: { type: 'String', required: true },
lastName: { type: 'String', required: true },
studentId: { type: 'Number', required: true },
password: { type: 'String', required: true },
email: { type: 'String', required: true },
dateAdded: { type: 'Date', default: Date.now, required: true },
lastLogin: { type: 'Date', default: null, required: false },
studyGroups: [{ type: 'String' }],
});
const studyGroupSchema = new Schema({
guid: { type: 'String', required: true },
groupName: { type: 'String', required: true },
course: { type: 'String', required: true },
teacher: { type: 'String', required: true },
description: { type: 'String', required: true },
dateAdded: { type: 'Date', default: Date.now, required: true },
chatMessages: [{ type: 'String' }],
});
export function getUserStudyGroups(req, res) {
User.aggregate([
{ "$unwind": "$studyGroups" },
{
"$lookup": {
"from": "studyGroups",
"localField": "studyGroups",
"foreignField": "cuid",
"as": "resultingStudyGroupsArray"
}
},
{ "$unwind": "$resultingStudyGroupsArray" },
{
"$group": {
"_id": null,
"myStudyGroups": { "$addToSet": "$resultingStudyGroupsArray" },
"count": { "$sum": 1 }
}
}
]).exec(function(err, results){
console.log(results);
return res.json({ studyGroups: results });
});
}
foreignfield
应为GUID
。
export function getUserStudyGroups(req, res) { User.aggregate([
{ "$unwind": "$studyGroups" },
{
"$lookup": {
"from": "studyGroups",
"localField": "studyGroups",
"foreignField": "guid",
"as": "resultingStudyGroupsArray"
}
},
{ "$unwind": "$resultingStudyGroupsArray" },
{
"$group": {
"_id": null,
"myStudyGroups": { "$addToSet": "$resultingStudyGroupsArray" },
"count": { "$sum": 1 }
}
} ]).exec(function(err, results){
console.log(results);
return res.json({ studyGroups: results }); }); }
但邮差回信说: 知道为什么或如何进一步调试它吗?Spring data-elasticsearch在做我不明白的事情吗? 我应该期待这样的事情:
我有一个如下的猫鼬模式: 我已经获取了所有具有给定id的特定用户发表评论的帖子,即所有那些评论数组中包含uid等于给定uid的对象的文档。例如,假设用户id为101,则查询结果可能如下所示: 为了更好地理解一切,我想获取所有那些特定用户评论过的帖子,甚至回复过的帖子,以及只有该用户的评论和回复。 我所能做的就是: 此查询仅返回相应帖子的第一个匹配的评论项数组。我想要所有符合条件的物品。 请帮助我为
问题内容: 我正在使用ES 1.4。当我执行聚合时,结果也会返回hits数组。有没有办法只返回聚合? 问题答案: 有可能的。您应该在网址中键入其他参数( ?search_type = count )。在这里看看:http : //www.elasticsearch.org/guide/en/elasticsearch/reference/current/search- aggregations.h
问题内容: 我已经尝试过使用并且都没有返回文档。是在返回一个空数组被返回。在这两种情况下也是如此。 这是我的联系: 这是我的架构: 我的查询在这里: 我可以将内容上传到数据库,并通过RockMongo进行查看,但之后无法获取它们。这是我第一次使用MongoDB,因此我认为我只是缺少一些基础知识。向正确方向的任何推动都是很棒的! 问题答案: 建立模型所绑定的集合的名称的调用,默认值为复数的小写模型名
我正在查找与url匹配但返回自定义对象的记录。 我有这个模型。。 我想查询该模型并匹配url,但返回如下响应: 我需要能够通过将记录的ip与过程中的变量进行比较,动态计算反应的ip是否为真。 一次尝试是 但我似乎无法集中IP并查看我的变量IP是否在该数组中。 谢谢你的帮助。我第一次问!
我有一个数据库,里面有澳大利亚800家不同的酒吧、俱乐部和餐馆。 我想为我的网站建立一个链接列表,统计不同郊区和主要类别的不同场馆的数量。 像这样: 餐厅,伯恩山(15家) 餐厅,道斯角(6家) 俱乐部,悉尼(138家) 我可以通过首先获得所有场馆来艰难地完成这项任务。然后运行一个场地。distinct('details.location.Suburban')获得所有独特的郊区。 从这里,我可以运