查询节点 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" }
  ]
})