我正在使用MongoDB來存儲一堆信息,並且需要搜索索引數組的值。MongoDB數組索引搜索
這裏的模式:
{ "common_name" : { "name" : "thename", "type" : "thetype" } }
有文檔中的其他值,但是這是唯一一個我在尋找。
所以,我估計像這樣的工作:(中殼)
db.collection.find({common_name:{$in:"thename"}})
但我得不到任何回報。
這看起來就像這裏所做的一樣: http://www.php.net/manual/en/mongo.queries.php - 但我似乎無法得到任何回報。
我已經試過
db.collection.find({"common_name.name":"thename"}})
和它的作品如預期,但對指數(最多4個)搜索多個節點,它可能會變得非常惡劣,基本定義$或索引的每個子類,和四倍我的查詢時間。因爲這是一個自動補全的動力,我不能那樣做。
奇怪的是,以下不返回任何證件之一:
db.collection.find({"common_name":{"name":"thename"}})
這在我的理解,是完全一樣的東西上面的查詢。
我對Mongo很新,所以也許我在這裏錯過了一些大東西?
有關如何快速訪問這些數據(使用錨定正則表達式)的任何想法?
我可以只使用一個關係表,但是不會破壞像Mongo這樣的NoSQL系統的目的嗎?
啊,我擔心這可能是問題所在。我會改變我的模式以這種方式工作。要麼我誤解了這裏的PHP文檔http://www.php.net/manual/en/mongo.queries.php,或者他們是不正確的。謝謝! – Jesse 2011-01-29 21:00:04