我是Node + 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){
});
但是它返回空
答案 0 :(得分:1)
使用mongodb的$or查询运算符
db.collection.find({
$or: [
{ createdBy: "test" },
{ sharedTo: "test" }
]
})