Mongodb深入查询多个级别

时间:2017-11-30 16:43:11

标签: database mongodb python-2.7 nosql pymongo

我有以下文件:

{ 
    "_id" : ObjectId("5a202aa0728bac010a8d2467"), 
    "tickers" : {
        "information_technology" : [
            "ACN", 
            "ATVI", 
            "ADBE", 
            "AMD", 
        ],
       "misc" : [
            "AA", 
            "GE", 
            "AAPL", 
            "PFE", 
        ] 
    }, 
    "name" : "S&P500"
}

我想按名称(" S& P500")查询文档,并在"代码"中返回一个列表。领域。

我尝试了db.collection.find_one(" $和":[{'名称':' S& P500'},{'代码& #39;:' misc'}])但没有返回任何文件。

我是mongodb的新手,所以我可能错过了文档中的内容。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

Collection.find_one的API与Collection.find 类似,只是忽略了limit ,并为匹配或None返回了单个文档没有比赛。

  

find(filter = None,projection = None,skip = 0,limit = 0,no_cursor_timeout = False,cursor_type = CursorType.NON_TAILABLE,sort = None,allow_partial_results = False,oplog_replay = False,modifiers = None,manipulate = True )Docs

在查看与{'name': 'S&P500'}等于name的文档相匹配时,适当的过滤器为S&P500

此外,仅投影{'tickers.misc': True}时,适当的投影为tickers.misc

db.collection.find_one({'name': 'S&P500'}, {'tickers.misc': True})