4
A
回答
11
使用$ all條件查找符合「紅色」和「藍色」條件的記錄。
db.my_collection.find({tags: { $all : ["red","blue"]}})
如果您想要記錄匹配「紅色」或「藍色」,那麼您可以使用$ in條件。
db.my_collection.find({tags: { $in : ["red","blue"]}})
3
而且萬一有人不知道如何否定逐項搜索,即發現同時匹配「紅」「藍」和不符合「綠色」和「白」這個可以用來完成這個紀錄$寧運營商,當某人正在閱讀$ nin的文檔這可能不是很明顯(http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24nin - 解析描述是棘手我):
db.my_collection.find({tags: { $all : ["red","blue"], $nin : ["green", "white" ]}})
這是非常酷的,因爲它允許相對好的搜索語法與否定:
tokenRequired1 tokenRequired2 !tokenForbidden1 !tokenForbidden2
非常自然的Gmail風格搜索。
如建議here和如果您從記錄中創建所有令牌的數組,則可以進行全文搜索,但我不知道它是否有效或甚至是最佳方式。
相關問題
- 1. 你如何查詢MongoDB中的數組
- 2. MongoDB:如何在數組結構化集合中進行查詢。
- 3. MongoDB查詢在對象數組中
- 4. 如何查詢mongodb中的對象數組中的數組?
- 5. 如何在mongoDB上進行此查詢?
- 6. 如何在Grails中對複雜的mongoDB查詢進行分頁?
- 7. 如何在Ruby on Rails或Mongodb查詢中進行ruby查詢?
- 8. 在Mongoose中對查詢進行分組
- 9. 如何查詢MongoDB中的_id數組?
- 10. 如何根據內部數組大小對MongoDB查詢結果進行排序?
- 11. MongoDB - 對查詢進行兩次排序?
- 12. 如何對集合MongoDB中的對象數組進行排序?
- 13. 如何在MongoDB中的查詢對象
- 14. 如何在Linq中對象查詢進行排序和分組?
- 15. 如何在查詢中對GROUP BY的結果進行分組?
- 16. 如何在MySQL中對多個子查詢進行分組
- 17. 如何在查詢中對結果進行分組?
- 18. 在SQL查詢中對具體的行數進行分組
- 19. 在sql查詢中對數據進行分組以聚合行
- 20. 在Laravel中如何在查詢中對無參數的url進行分組
- 21. 如何在mongoDB中執行此查詢?
- 22. 如何在MongoDB中執行此查詢?
- 23. 如何在mongodb中運行此查詢?
- 24. 如何對mongodb ObjectId字段進行正則表達式查詢
- 25. 如何使用-number postfix對MongoDB查詢進行排序?
- 26. MongoDb $查詢查詢與對象數組中的多個字段
- 27. 如何根據mongoDB中的函數結果對查詢結果進行排序
- 28. Loopback.js/Node.js的MongoDB的 - 對查詢數組
- 29. Mongoose Mongodb查詢對象數組
- 30. 如何在MongoDB中使用範圍查詢進行分頁?