0

I've executed the following command in mongo shell:

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

Now, i want to find whether genre for 'English' exists in the collection or not using find(), which will return either 0(false) or 1(true).

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

The above command returns me 1(true), but when i try to execute the same command using variable as mentioned below, it returns 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();

What can be the problem? how to tackle this? I'm not getting any way to sort this out.

Pratik Borkar
  • 475
  • 2
  • 7
  • 17

1 Answers1

0

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

Hope that helps you!!!

Anuj Aneja
  • 1,323
  • 11
  • 13