2016-07-27 69 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文件嗎? –

相關問題