mongodb查找聚合查询
在mongodb中运行此查询时出现问题mongodb查找聚合查询,mongodb,aggregation-framework,lookup,Mongodb,Aggregation Framework,Lookup,在mongodb中运行此查询时出现问题 db.user.aggregate([ { $lookup: { from: 'role', localField: 'Role_id', foreignField: '_id', as: 'role' } }, { $lookup: { from: 'location', localField: 'Location_id'
db.user.aggregate([
{
$lookup:
{
from: 'role',
localField: 'Role_id',
foreignField: '_id',
as: 'role'
}
},
{
$lookup:
{
from: 'location',
localField: 'Location_id',
foreignField: '_id',
as: 'location'
}
}
])
藏品如下
//位置集合
{
"_id" : ObjectId("58b9b9b95565ef59ac1bcc99"),
"locationcode" : "L001",
"locationname" : "Pune"
}
{
"_id" : ObjectId("58b9b8ef5565ef59ac1bcc49"),
"rolename" : "SuperAdmin"
}
//角色集合
{
"_id" : ObjectId("58b9b9b95565ef59ac1bcc99"),
"locationcode" : "L001",
"locationname" : "Pune"
}
{
"_id" : ObjectId("58b9b8ef5565ef59ac1bcc49"),
"rolename" : "SuperAdmin"
}
//用户集合:
{
"_id" : ObjectId("58b9bad55565ef59ac1bcd04"),
"LoginId" : "Sylvester_M001",
"Password" : "123456",
"Name" : "Sylvester",
"EmployeeId" : "M001",
"Role_id" : ObjectId("58b9b8ef5565ef59ac1bcc49"),
"Location_id" : ObjectId("58b9b9b95565ef59ac1bcc99")
}
{
"_id" : ObjectId("58b9bad55565ef59ac1bcd04"),
"LoginId" : "Sylvester_M001",
"Password" : "123456",
"Name" : "Sylvester",
"EmployeeId" : "M001",
"Role_id" : ObjectId("58b9b8ef5565ef59ac1bcc49"),
"Location_id" : ObjectId("58b9b9b95565ef59ac1bcc99"),
"role" : [
{
"_id" : ObjectId("58b9b8ef5565ef59ac1bcc49"),
"rolename" : "SuperAdmin"
}
],
"location" : [
{
"_id" : ObjectId("58b9b9b95565ef59ac1bcc99"),
"locationcode" : "L001",
"locationname" : "Pune"
}
]
}
当我运行聚合查找以加入我得到的三个集合时
//结果收集:
{
"_id" : ObjectId("58b9bad55565ef59ac1bcd04"),
"LoginId" : "Sylvester_M001",
"Password" : "123456",
"Name" : "Sylvester",
"EmployeeId" : "M001",
"Role_id" : ObjectId("58b9b8ef5565ef59ac1bcc49"),
"Location_id" : ObjectId("58b9b9b95565ef59ac1bcc99")
}
{
"_id" : ObjectId("58b9bad55565ef59ac1bcd04"),
"LoginId" : "Sylvester_M001",
"Password" : "123456",
"Name" : "Sylvester",
"EmployeeId" : "M001",
"Role_id" : ObjectId("58b9b8ef5565ef59ac1bcc49"),
"Location_id" : ObjectId("58b9b9b95565ef59ac1bcc99"),
"role" : [
{
"_id" : ObjectId("58b9b8ef5565ef59ac1bcc49"),
"rolename" : "SuperAdmin"
}
],
"location" : [
{
"_id" : ObjectId("58b9b9b95565ef59ac1bcc99"),
"locationcode" : "L001",
"locationname" : "Pune"
}
]
}
但几秒钟后,它变为
{
"$err":"Invalid ns[]",
"code":73
}
为什么会发生这种情况?有没有关于我错在哪里的澄清?是什么触发了这种情况?无法模拟您的错误。我使用了与上面相同的代码,得到了正确的响应。我在mongo shell上执行了这个。您是从哪里执行此操作的?是否可以编写mongoose脚本来获取聚合数据?