我正在使用 mongo 的 shell 并想做基本上等同于“SQL 的 select col INTO var”的操作,然后使用 var 的值来查找同一个表或其他表中的其他行(连接)。例如,在 PL/SQL 中我将声明一个名为 V_Dno 的变量。我还有一个名为 Emp(EID, Name, Sal, Dno) 的表。我可以访问员工 100 的 Dno 值,如“从 Emp 中选择 Dno 到 V_Dno,其中 EID = 100”。在 MongoDB 中,当我找到所需的员工(使用其 _id)时,我最终得到一个文档而不是一个值(一个字段)。从某种意义上说,我得到的等效于 SQL 中的整行,而不仅仅是一列。我正在执行以下操作来查找给定的 emp:
VAR V_Dno = db.emp.find ({Eid : 100}, {Dno : 1});
我之所以要这样做是为了使用字段的值从一个文档遍历到另一个文档。我知道我可以使用 DBRef 做到这一点,但我想看看我是否可以使用这种方法将文档绑定(bind)在一起。 有人可以对此有所了解吗? 谢谢。
最佳答案
find
返回一个游标,让您可以遍历匹配的文档。在这种情况下,您会希望使用 findOne
,因为它会直接返回第一个匹配的文档,然后使用点符号来访问单个字段。
var V_Dno = db.emp.findOne({Eid : 100}, {Dno : 1}).Dno;
关于mongodb - 将 MongoDB 文档的字段值放入变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21171721/