2012-03-18 99 views

回答

35

您可以在字段名稱中使用不是 special(包含「。」或以「$」開頭)的任何(UTF8)字符。

https://jira.mongodb.org/browse/SERVER-3229

https://stackoverflow.com/a/7976235/311220

一般最好用下劃線小寫字母和數字貼雖然。

+1

產品規格怎麼樣?如果字段名稱是實際的規格說明,它會不會極大地簡化設計? (例如''屏幕尺寸':26英寸') – Dor 2013-03-15 12:17:46

+3

不一定,@Dor - 你想在你的UI和你的數據庫之間有一點靈活性(沒有什麼比顧客變得如此變幻莫測:「等等,我希望它說'顯示大小',而不是'屏幕大小'「)。當然,還有整個國際化難題的一部分,也需要解耦。順便說一句,當Acorn說'包含空格的任何UTF8'時,如果你願意的話,那麼你完全可以。 – 2013-06-11 08:17:06

+0

它如何處理像userDetails這樣的駝峯式單詞?這有效嗎? – 2013-07-17 04:14:05

1

還有一點需要注意的是,您可以創建一個名爲「query」的屬性名稱,然後在其上使用查詢運算符,這使得執行大量查詢變得尷尬。

例子:

使用指定屬性插入文檔

db.coll.insert({ query: 'foo' }); 

平等查詢工作:

db.coll.findOne({ query: 'foo' });  

不等於($ NE)不:

db.coll.findOne({ query: { $ne: 'bar' } }); 
+0

好點。但是你仍然可以用'db.coll.findOne({query:{query:{$ ne:'bar'}}})'來做這個查詢。所以這不是不可能的,但它很尷尬。 – JohnnyHK 2015-09-01 17:35:19

+0

謝謝,我沒有意識到這是不可能的,直到我發佈後。肯定更尷尬。 – Dave 2015-09-02 17:54:10

+1

截至3.2(2015年底發佈),這是固定的。 – 2016-10-18 15:01:59

相關問題