使用Java的MongoDB中的$In子句没有结果

slmsl1lt  于 2022-10-22  发布在  Java
关注(0)|答案(1)|浏览(169)

我正在尝试根据ID列表获取一些记录。如果我直接在Robomongo上运行查询,我就会得到结果。但是,同样的情况在Java中的代码级不起作用。
记录示例:

{
   "_id":"142",
   "projectId":"PR_811",
   "projectName":"ProjectTest007",
   "entityName":"id-1412516",
   "processName":"MSATesting",
   "startDate":{
      "$date":{
         "$numberLong":"1666051200000"
      }
   },
   "endDate":{
      "$date":{
         "$numberLong":"1666224000000"
      }
   },
   "isRegulated":"No",
   "tagNameList":[

   ],
   "projectRole":{
      "1464":"1464"
   },
   "projectPhase":{
      "634e611de8ba26418e93ac96":"634e611de8ba26418e93ac96"
   },
   "status":"Approved"
}

BasicDBObject query = new BasicDBObject();  
query.put("_id", new BasicDBObject("$in", projectIds)); //ProjectIds has list of ids as strings
DBCollection dbCollection = database.getCollection("Projects"); 
DBCursor cursor = dbCollection.find(query);

我不知道我是不是在这个条款中漏掉了什么。

gdrx4gfi

gdrx4gfi1#

Robomongo和我们的技术代码方法的一些查询是不同的。要在MongoDB中编写查询和搜索,请检查$lookup命令。也可以将id发送给模型函数,像集合一样进行查询。find(_id:id){//Results}

相关问题