查询节点 mongodb 中嵌套的对象数组
Query nested array of objects in node mongodb
我是节点新手 + Mongo。我在 mongoDB 中有以下结构的数据:
var data = [{
id:1,
createdBy:"test",
sharedTo:["john","shekar"]
},
{
id:2,
createdBy:"steve",
sharedTo:["test","shekar"]
},
{
id:3,
createdBy:"mark",
sharedTo:["steve","test"]
},
{
id:4,
createdBy:"akuni",
sharedTo:["john","shekar","mark"]
},
{
id:5,
createdBy:"test",
sharedTo:["mark","shekar"]
},
{
id:6,
createdBy:"mark",
sharedTo:["test","akuni"]
}]
我想查询这个以获取用户 "test" 创建的所有记录以及共享给 "test" 的所有记录。我该怎么做?
预期结果:
[{
id:1,
createdBy:"test",
sharedTo:["john","shekar"]
},
{
id:5,
createdBy:"test",
sharedTo:["mark","shekar"]
},
{
id:6,
createdBy:"mark",
sharedTo:["test","akuni"]
}]
我试过
var user = "test";
data.find({createdBy:user,sharedTo:{$elemMatch:[user]}},function(err, resp){
});
但它返回的是空的
使用mongodb的$or查询运算符
db.collection.find({
$or: [
{ createdBy: "test" },
{ sharedTo: "test" }
]
})
我是节点新手 + Mongo。我在 mongoDB 中有以下结构的数据:
var data = [{
id:1,
createdBy:"test",
sharedTo:["john","shekar"]
},
{
id:2,
createdBy:"steve",
sharedTo:["test","shekar"]
},
{
id:3,
createdBy:"mark",
sharedTo:["steve","test"]
},
{
id:4,
createdBy:"akuni",
sharedTo:["john","shekar","mark"]
},
{
id:5,
createdBy:"test",
sharedTo:["mark","shekar"]
},
{
id:6,
createdBy:"mark",
sharedTo:["test","akuni"]
}]
我想查询这个以获取用户 "test" 创建的所有记录以及共享给 "test" 的所有记录。我该怎么做?
预期结果:
[{
id:1,
createdBy:"test",
sharedTo:["john","shekar"]
},
{
id:5,
createdBy:"test",
sharedTo:["mark","shekar"]
},
{
id:6,
createdBy:"mark",
sharedTo:["test","akuni"]
}]
我试过
var user = "test";
data.find({createdBy:user,sharedTo:{$elemMatch:[user]}},function(err, resp){
});
但它返回的是空的
使用mongodb的$or查询运算符
db.collection.find({
$or: [
{ createdBy: "test" },
{ sharedTo: "test" }
]
})