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

QueryableをIMongoQueryに変換し直します

    編集された回答:

    LINQクエリからMongoクエリを取得する公式の方法がすでにあることに気づきました(知っておくべきでした!)。 GetMongoQueryメソッドにアクセスするには、IQueryableをMongoQueryableにダウンキャストする必要があります。

    var linqQuery = from e in collection.AsQueryable<Entity>() where e.Name == "test" select e;
    var mongoQuery = ((MongoQueryable<Entity>)linqQuery).GetMongoQuery();
    

    元の回答:

    現時点では、これを行うための公式にサポートされている方法はありませんが、近い将来、LINQクエリがマップされたMongoDBクエリを簡単に見つけられるようにする予定です。

    短期的には、次の文書化されていない内部メソッドを使用して、LINQクエリがマップされているMongoDBクエリを見つけることができます。

    var linqQuery = from e in collection.AsQueryable<Entity>() where e.Name == "test" select e;
    var translatedQuery = (SelectQuery)MongoQueryTranslator.Translate(linqQuery);
    var mongoQuery = translatedQuery.BuildQuery();
    

    ただし、ある時点で、これらの文書化されていないメソッドから公式にサポートされているメソッドに切り替える必要がある場合があります(文書化されていないメソッドは、将来変更または名前変更される可能性があります)。



    1. NoSQLデータベースが集計関数(AVG、SUMなど)でどのように機能するか

    2. Mongoを使用して、配列内のオブジェクトのフィールドをクエリしますか?

    3. データベースセキュリティ101:データベースアクセス権限について

    4. MongoDBの並べ替え