Node.js 从mongo添加要查找()的字段后无法检索数据

Node.js 从mongo添加要查找()的字段后无法检索数据,node.js,mongodb,Node.js,Mongodb,我开发了一个代码,可以从文件系统中检索文件路径存储在mongo数据库中的所有视频: app.get("/myvideos", function(request, result){ database.collection("videos").find({}).toArray(function(error, videos){ result.render("myvideos", { "isLogin&quo

我开发了一个代码,可以从文件系统中检索文件路径存储在mongo数据库中的所有视频:

app.get("/myvideos", function(request, result){

  database.collection("videos").find({}).toArray(function(error, videos){
    result.render("myvideos", {
      "isLogin": request.session.user_id ? true : false,
      "videos": videos
    });
  });
});
上面的代码正确地检索了文件。但是,我希望检索特定用户的文件。我的数据库架构是:

    {
        "_id" : ObjectId("60914d02185c2a08add68fa2"),
        "user" : {
            "_id" : ObjectId("60914c73185c2a08add68fa0"),
            "name" : "Saumitra Lele",
            "image" : "",
            "subscribers" : 0
        },
        "filePath" : "public/videos/1620135170700-bigbuck.mp4",
        "thumbnail" : "public/thumbnails/1620135170700-Photo - Saumitra Lele.jpeg",
        "title" : "First video uploaded",
        "description" : "First video uploaded by Saumitra Lele",
        "tags" : "Saumitra Lele video",
        "category" : "Technology",
        "createdAt" : 1620135170708,
        "minutes" : 0,
        "seconds" : 32,
        "hours" : 0,
        "watch" : 1620135170708,
        "views" : 0,
        "playlist" : "",
        "likers" : [ ],
        "dislikers" : [ ],
        "comments" : [ ]
    }
但是,当我尝试检索某个特定用户的文件时,例如,它不起作用:

app.get("/myvideos", function(request, result){

  database.collection("videos").find({user:{_id:{$in:[user._id]}).toArray(function(error, videos){
    result.render("myvideos", {
      "isLogin": request.session.user_id ? true : false,
      "videos": videos
    });
  });
});

我找到了解决办法。这起到了作用:

当用户会话登录时,我创建了一个新变量来存储用户名,如下所示:

request.session.user_name = user.name
然后使用上述方法进行比较,如下所示:

app.get("/myvideos", function(request, result){
  //var logInId = request.session.user_id;
  database.collection("videos").find({"user.name":request.session.user_name}).sort({
    "createdAt": -1
  }).toArray(function(error, videos){
    result.render("myvideos", {
      "isLogin": request.session.user_id ? true : false,
      "videos": videos
    });
  });
});
上面的工作正常

请尝试
{“user.\u id”:{$in:[user.\u id]}
与确切的字段匹配。