Mongodb 根据子文档的某个特定字段排序的问题
<code>/* 1 */ { "_id" : ObjectId("55e542cd7f8b9aca2b8b4568"), "game_id" : 1103, "tags" : [ { "tag_id" : 10, "name" : "西游", "rank" : 10, }, { "tag_id" : 123, "name" : "网游", "rank" : 1, }, ], "time_sort" : 1435306 } /* 2 */ { "_id" : ObjectId("55dd8fe67f8b9a25528b64f7"), "game_id" : 6408, "tags" : [ { "tag_id" : 28, "name" : "白领最爱", "rank" : 20, }, { "tag_id" : 123, "name" : "网游", "rank" : 2, }, ], "time_sort" : 1411574 } /* 3 */ { "_id" : ObjectId("55dd91197f8b9a25528b9585"), "game_id" : 18498, "tags" : [ { "tag_id" : 19, "name" : "回合制", "pc_rank" : 120, }, { "tag_id" : 123, "name" : "网游", "rank" : 3, }, ], "time_sort" : 1437385 }</code>
现在只想通过 网游标签的rank排序,语句应该怎么写
回复内容:
<code>/* 1 */ { "_id" : ObjectId("55e542cd7f8b9aca2b8b4568"), "game_id" : 1103, "tags" : [ { "tag_id" : 10, "name" : "西游", "rank" : 10, }, { "tag_id" : 123, "name" : "网游", "rank" : 1, }, ], "time_sort" : 1435306 } /* 2 */ { "_id" : ObjectId("55dd8fe67f8b9a25528b64f7"), "game_id" : 6408, "tags" : [ { "tag_id" : 28, "name" : "白领最爱", "rank" : 20, }, { "tag_id" : 123, "name" : "网游", "rank" : 2, }, ], "time_sort" : 1411574 } /* 3 */ { "_id" : ObjectId("55dd91197f8b9a25528b9585"), "game_id" : 18498, "tags" : [ { "tag_id" : 19, "name" : "回合制", "pc_rank" : 120, }, { "tag_id" : 123, "name" : "网游", "rank" : 3, }, ], "time_sort" : 1437385 }</code>
现在只想通过 网游标签的rank排序,语句应该怎么写
管道查询然后用unwind打撒tags,再排序
<code>"tags" : [ { "tag_id" : 28, "name" : "白领最爱", "rank" : 20, }, { "tag_id" : 123, "name" : "网游", "rank" : 2, }, ],</code>
tags数组里面的两个元素都有rank字段,你要根据第一个rank排序还是第二个rank排序?

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHPでは、最終的なキーワードを使用して、クラスが継承されないようにし、メソッドが上書きされます。 1)クラスを決勝としてマークする場合、クラスを継承することはできません。 2)メソッドを最終的にマークする場合、メソッドはサブクラスによって書き換えられません。最終的なキーワードを使用すると、コードの安定性とセキュリティが保証されます。

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

Hash値として保存されているため、Navicatを介してMongoDBパスワードを直接表示することは不可能です。紛失したパスワードを取得する方法:1。パスワードのリセット。 2。構成ファイルを確認します(ハッシュ値が含まれる場合があります)。 3.コードを確認します(パスワードをハードコードできます)。

H5開発で習得する必要があるツールとフレームワークには、Vue.JS、React、Webpackが含まれます。 1.Vue.jsは、ユーザーインターフェイスの構築に適しており、コンポーネント開発をサポートします。 2.複雑なアプリケーションに適した仮想DOMを介したページレンダリングを最適化します。 3.Webpackは、モジュールのパッケージングに使用され、リソースの読み込みを最適化します。

作曲家を使用するときに熟練するには、次のスキルをマスターする必要があります。1。composer.jsonとcomposer.lockファイルを使用するのに熟練している必要があります。2。作曲家の仕組み、3。マスターコンポーザーのコマンドラインツール、4。基本的および高度な使用法を理解します。

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。
