これは実際には重要ではなく、「フレームワーク」の実装にとっても重要ではありません。理由を説明してもかまいません。
すべての「フレームワーク」(Mongoose、Mongoid、Doctrine、MongoEngineなど)はすべて、基本的に、ほとんどの場合MongoDBスタッフ自身によって開発された基本的な「ドライバー」実装に基づいて構築されています。したがって、これらの「ネイティブ」メソッドを使用するためにレベルまで「掘り下げる」必要がある場合でも、基本的な機能は常に存在します。
したがって、この場合のネイティブの使用例は次のとおりです。
List.collection.update(
{},
{ "$push": {
"list": {
"$each": [ 1, 2, 3 ],
"$position": 0 }
}
},function(err,NumAffected) {
console.log("done");
});
モデルから使用される「コレクション」メソッドに注意してください。このメソッドは、ドライバーから「生の」コレクションの詳細を取得します。したがって、追加の処理を行う可能性のある「ラップされた」メソッドではなく、そのメソッドを使用しています。
次の最も基本的な理由は、必要な演算子のメソッドとアプリケーションが見つからない場合、ここにあるのは単純な事実です。
すべてのフレームワークのメソッドと基本的なドライバーメソッドで使用されるすべての操作は、基本的に基本的なAPIの「runCommand」メソッドの呼び出しです。つまり、その基本的な呼び出しはどこでも利用できるので(何らかの形で、必要があるため)、MongoDBサイトで宣伝されているすべてのことを、任意ののすべての言語実装で実行できます。 フレームワーク。
ただし、これは実際にはメソッドではないため、特定のリクエストへの短い呼び出しはです。 呼び出しますが、渡されたBSON引数の一部にすぎません。もちろん、これを実際に使用するための特定の言語ドライバーによる制限はありません。
したがって、もちろん最新バージョンに更新しなくても、これらの新しい引数を使用できます。しかし、実際にそうすれば、おそらくそうするためのいくつかの素晴らしい方法が得られるでしょう。