0
test_cursor = db.command({
    "aggregate": "New_layout",
    "pipeline": [
        { "$match": { "$and": [
            { "FIRST_DATE": { "$gte": new_date } },
            { "CHAIN_ID": { "$ne": "" } }
        ] } },
        { "$unwind": { "path": "$ENTERS", "includeArrayIndex": "Date" } },
        { "$project": {
            "_id": 0,
            "SITE_ID": "$SITE_ID",
            "CHAIN_ID": "$CHAIN_ID",
            "SEGMENT_ID": "$SEGMENT_ID",
            "ZIP": "$ZIP",
            "ZIP3": "$ZIP3",
            "MARKET_ID": "$MARKET_ID",
            "REGION": "$REGION",
            "MALL_CODE": "$MALL_CODE",
            "MALL_AREA": "$MALL_AREA",
            "MALL_NAME": "$MALL_NAME",
            "FIRST_DATE": "$FIRST_DATE",
            "MARKET_AREA": "$MARKET_AREA",
            "REGION_AREA": "$REGION_AREA",
            "ZIP_AREA": "$ZIP_AREA",
            "ZIP3_AREA": "$ZIP3_AREA",
            "DATE": "$Date",
            "ENTERS": "$ENTERS"
        } }
    ],
    "allowDiskUse": bool(1),
    "cursor": {} 
})

asd=list(test_cursor)

光标的内容如下:-

 [u'cursor', u'ok', u'waitedMS'] .

但是,使用$out语句,输出集合具有预期的内容。我正在运行 pymongov3.2.2和 mongo 3.2。有人告诉我这个问题的经历v3.0或更少,但这是我无法弄清楚的

4

1 回答 1

0

您应该使用aggregate()而不是command()

test_cursor = db.New_layout.aggregate([
    { "$match": { "$and": [
        { "FIRST_DATE": { "$gte": new_date } },
        { "CHAIN_ID": { "$ne": "" } }
    ] } },
    { "$unwind": { "path": "$ENTERS", "includeArrayIndex": "Date" } },
    { "$project": {
        "_id": 0,
        "SITE_ID": "$SITE_ID",
        "CHAIN_ID": "$CHAIN_ID",
        "SEGMENT_ID": "$SEGMENT_ID",
        "ZIP": "$ZIP",
        "ZIP3": "$ZIP3",
        "MARKET_ID": "$MARKET_ID",
        "REGION": "$REGION",
        "MALL_CODE": "$MALL_CODE",
        "MALL_AREA": "$MALL_AREA",
        "MALL_NAME": "$MALL_NAME",
        "FIRST_DATE": "$FIRST_DATE",
        "MARKET_AREA": "$MARKET_AREA",
        "REGION_AREA": "$REGION_AREA",
        "ZIP_AREA": "$ZIP_AREA",
        "ZIP3_AREA": "$ZIP3_AREA",
        "DATE": "$Date",
        "ENTERS": "$ENTERS"
    } }
],
allowDiskUse=True)
于 2016-08-10T14:43:24.497 回答