sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB Agregation error :Objekt specifikace etapy potrubí musí obsahovat přesně jedno pole

MongoDB si stěžuje, protože máte nerozpoznanou specifikaci fáze potrubí "count":{ "$sum":1 } ve vašem kanálu.

Váš původní kanál při správném formátování

db.hashtag.aggregate([
    { 
        "$group": {
            "_id": {
                "year": { "$year": "$tweettime" },
                "dayOfYear": { "$dayOfYear": "$tweettime" },
                "interval": {
                    "$subtract": [ 
                        { "$minute": "$tweettime" },
                        { "$mod": [{ "$minute": "$tweettime"}, 15] }
                    ]
                }
            }
        },
        "count": { "$sum": 1 } /* unrecognised pipeline specification here */
    }
])

by měl mít agregovaný akumulátor $ součet v rámci $group potrubí jako:

    { 
        "$group": {
            "_id": {
                "year": { "$year": "$tweettime" },
                "dayOfYear": { "$dayOfYear": "$tweettime" },
                "interval": {
                    "$subtract": [ 
                        { "$minute": "$tweettime" },
                        { "$mod": [{ "$minute": "$tweettime"}, 15] }
                    ]
                }
            },
            "count": { "$sum": 1 }
        }           
    }
])



  1. Meteor:Tracker.autorun / pozorovatel Změny a kolekce nefungují podle očekávání

  2. Zamyká MongoDB MapReduce databázi

  3. Agregační filtr po $lookup

  4. Jak mohu vygenerovat ObjectId pomocí mongoose?