【问题标题】:Unable to find value using variable as field name in find() method within Mongo Shell无法在 Mongo Shell 中的 find() 方法中使用变量作为字段名称来查找值
【发布时间】:2013-09-05 07:50:55
【问题描述】:

我在 mongo shell 中执行了以下命令:

db.perscoll.insert({CT:{English:{genre:[{name:varGenre}]}}})

现在,我想使用 find() 来查找集合中是否存在“English”的流派,它将返回 0(false) 或 1(true)。

db.perscoll.find({'CT.English.genre.name':varGenre}).count();

上面的命令返回 1(true),但是当我尝试使用下面提到的变量执行相同的命令时,它返回 0。

var eType = 'CT';
var lang = 'English';
var varGenre = 'Action';
var gnrNameChk = {}; 
gnrNameChk[eType+'.'+lang+'.genre.name'] = ''; 
print(gnrNameChk);
db.perscoll.find({gnrNameChk:varGenre}).count();

可能是什么问题?如何解决这个问题?我没有办法解决这个问题。

【问题讨论】:

    标签: mongo-shell


    【解决方案1】:

    尝试以下方法: var eType = 'CT'; var lang = '英语'; var varGenre = '动作'; var gnrNameChk = {}; gnrNameChk[eType+'.'+lang+'.genre.name'] = varGenere; 打印(gnrNameChk); db.perscoll.find(gnrNameChk).count();

    希望对你有帮助!!!

    【讨论】:

      猜你喜欢
      • 2013-12-17
      • 2012-08-14
      • 1970-01-01
      • 1970-01-01
      • 2012-11-07
      • 2021-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多