2014-01-09 19 views
0

我有一個包含必需和非必需數據的文檔的mongodb集合。我知道如何使用$ exists操作符來創建一個查詢來檢查一個字段是否存在,但是我不想在查詢中定義必需的字段,因爲這個列表既長又可以隨時更改(並在其他地方定義)。如何檢查文檔包含字段列表

以下是偉大檢查已知領域:

db.collectionofstuff.find({fieldIneed:{$exists:False}}) 

不過,我想這功能是這樣的:

使用這個配置文件:

datadescriptorjson = {"thing1": {"count": 2,"range": 3},"thing2":{"pace": 12.5, "consistency": "angry"}} 

創建一個查詢發現/聚合,看起來像這樣:

db.collectionofstuff.find({<list of fields from datadescriptorjson>:{$exists:Falze}}) 

我不知道無論如何直接與聚合框架或使用簡單的查找。

+0

在您的示例「配置文件」中,您要檢查的必填字段是什麼? JSON中存在的所有字段? – Stennie

+0

是的,JSON配置文件中的所有字段都是必需的。 – RileyJ

回答

0

沒有這樣的功能,您將不得不手動測試每個字段。你當然可以循環你的配置數據,並重新創建一個查詢。但是,這應該是您在應用程序中執行的操作。

相關問題