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

C#ドライバーを介してmongodbシェルスクリプトを実行します

    var mongoServer = MongoServer.Create("mongodb://<connectionstring>"); 
    var database = mongoServer.GetDatabase("mydatabase"); 
    string mycollectionCount database.Eval("function() { return db.mycollection.count(); }").ToString();
    

    これは、たとえば次のようにプロパティタイプを変更しようとしている場合に役立ちます。

    string updateScript = @"
    function () { 
        db.some_items.find().forEach(function(documentItem) {
            documentItem.some_collection.forEach(function(collectionItem) {
                if (typeof collectionItem.SomeProperty === 'number' 
                    && Math.floor(collectionItem.someProperty) === collectionItem.someProperty)
                {
                    collectionItem.someProperty = '' + collectionItem.someProperty;
                }
            });
            db.modules_elementary.save(documentItem);
        });
    
        return true;
    }";
    var updateResult = MongoReadDatabase.Database.Eval(updateScript).ToString();
    if (updateResult != "true")
    {
        throw new ApplicationException("Update of something failed");
    }
    

    このコードは、somePropertyのタイプを変更します コレクションのコレクションの要素です:

    some_items mongo collection:
    
    {
       some_collection: [{ someProperty: 12, ....}],
       ....
    
    }
    


    1. pymongo.cursor.Cursorをdictに変換する方法は?

    2. MongoDB-リレーションシップを作成する

    3. フィールド値によるハッシュのRedis検索

    4. 500MBのRedisdump.rdbファイルが約5.0GBのメモリを必要とするのはなぜですか?