sql >> データベース >  >> NoSQL >> MongoDB

SQLクエリのMongo言語への翻訳

    eventsにこれらのドキュメントがあると仮定します :

    {
        "_id" : ObjectId("54cdfde528bb923955eff8b4"),
        "v1" : 35,
        "v2" : 10
    }
    
    /* 1 */
    {
        "_id" : ObjectId("54cdfde928bb923955eff8b5"),
        "v1" : 10,
        "v2" : 20
    }
    

    単純なfind()を使用することはできません クエリ。集計を使用する必要があります:

    db.events.aggregate(
    [    
        { $project : { 'diff' : { $subtract : ['$v1', '$v2'] }, v1 : 1, v2 : 1 } },
        { $match : { diff : { $gt : 20} } },
        { $project : { v1 : 1, v2 : 1 } },
    ]).result
    

    結果は次のとおりです。

    {
        "0" : {
            "_id" : ObjectId("54cdfde528bb923955eff8b4"),
            "v1" : 35,
            "v2" : 10
        }
    }
    



    1. Mongoose JS経由のMongoDB-findByIDとは何ですか?

    2. MongoDB Rubyドライバーを使用してグループ化(group by)を行う方法は?

    3. mongodb集計クエリが$sumの使用時に適切な合計を返していません

    4. MongoDBデータベースの構造とベストプラクティスのヘルプ