2016-07-27 73 views
0

你好我是新来的Mongodb,我有一个问题,我还没有找到答案。如何找到嵌套在另一个文档中的文档的值

  1. 我想知道如何找到所有年龄小于特定年龄的用户。 db.getCollection('data')。find({age:{$ lt:50}})不起作用
  2. 我想知道如何将用户的所有邮件解压缩到csv文件。

问候,

那提

//'data'- is the a document/table 

//The data looks like that : 

db.getCollection('data').find({}) : 



     /* 1 */ 

     { 
     "_id" : "8f911", 
      "userDetails" : {  "age" : "19", 
       "birthday" : "1996/5/11" 
     }, 
      "username" : "[email protected]" 
     } 

     /* 2 */ 

    . 
    . 
    . 
    . 
+0

您的年龄字段不是数字,因此像'$ lt'这样的比较运算符在字符串字段上不能很好地工作。 – chridam

回答

1

age嵌套在userDetails。你可以试试:

db.getCollection('data').find({"userDetails.age":{$lt:50}}) 

因为它是一个字符串,你可以使用JavaScript Expression查询。它会进行类型转换:

db.getCollection('data').find("this.userDetails.age < 50"}}) 
+0

你为什么不让年龄编号? –

+0

@chridam哎呀!抱歉。 –

+0

伟大的Arun,thaks,使用javascript表达式正在工作。 你知道如何将用户的所有邮件解压缩到csv文件吗? –

相关问题