我已經閱讀了關於MongoDB中投影的所有信息。我希望這很簡單,我錯過了它,因爲Mongo查詢的壓倒性靈活性。MongoDB查詢 - 限制名稱匹配模式的字段
在我們的MySql數據庫中,我們採用了一種商業慣例,即在「隱藏」字段前加下劃線。我們的應用程序知道如何隱藏這些字段。
移動一些數據到mongo,我需要檢索文件,,所有下劃線前綴字段被省略。當然這應該在查詢中完成,而不是在檢索後進行文件操作。
像$ regex,$ in,$等所有運營商似乎都適用於值。我需要根據名稱構建一個忽略未知數量字段的投影。例如:
db.coll.find({}, {"_*": 0})
當然,這不起作用,但解釋了這個想法。
我應該注意:這是必要的,因爲這些文檔是我們的應用程序用戶可編輯的,所以我不知道模式可能是什麼樣子。我知道我們的「內部」字段帶有_前綴,並且需要通過編輯器的省略來保護這些字段。
希望這很容易...
所有的回覆都很棒,並幫助我瞭解設計中的固有缺陷。我已經實現了Sushant建議的反面 - 我的所有文檔在根級別都有一個固定的模式,並且有一個「內容」節點。我只會將內容節點呈現給我的用戶,因此會保護文檔的所有其他部分。 – hikaru