ホームページ データベース モンゴDB MongoDB でインデックスによって配列要素を削除するにはどうすればよいですか?

MongoDB でインデックスによって配列要素を削除するにはどうすればよいですか?

Sep 08, 2023 pm 12:17 PM

如何在 MongoDB 中通过索引删除数组元素?

次の 2 つの手順を使用して、インデックスによって配列要素を削除できます -

最初の手順は次のとおりです -

db.yourCollectionName.update({}, {$unset : {"yourArrayFieldName.yourIndexValue" : 1 }});

上記の構文は次のようになります。 "yourIndexValue" の位置に null 値を配置します。その後、配列フィールドから null 値を抽出して配列要素から削除する必要があります。

2 番目のステップは次のとおりです -

db.yourCollectionName.update({}, {$pull : {"yourArrayFieldName" : null}});

構文を実装するために、ドキュメントを含むコレクションを作成しましょう。ドキュメントを使用してコレクションを作成するクエリは次のとおりです。 -

> db.removeArrayElementByItsIndexDemo.insertOne({"InstructorName":"David",
   "InstructorAge":28,"InstructorSubject":["MongoDB","MySQL","Java","SQL Server","PL/SQL"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8abbfc6cea1f28b7aa0803")
}

find() メソッドを使用して、コレクション内のすべてのドキュメントを表示します。クエリは次のとおりです -

> db.removeArrayElementByItsIndexDemo.find().pretty();

出力は次のとおりです -

{
   "_id" : ObjectId("5c8abbfc6cea1f28b7aa0803"),
   "InstructorName" : "David",
   "InstructorAge" : 28,
   "InstructorSubject" : [
      "MongoDB",
      "MySQL",
      "Java",
      "SQL Server",
      "PL/SQL"
   ]
}

これは、配列要素をインデックスによって削除するクエリです。

ステップ 1- 次のようにクエリします-

> db.removeArrayElementByItsIndexDemo.update({}, {$unset : {"InstructorSubject.2" : 1 }});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

ステップ 2-次のようにクエリします-

> db.removeArrayElementByItsIndexDemo.update({}, {$pull : {"InstructorSubject" : null}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

配列要素「Java」が削除されました。クエリは次のとおりです -

> db.removeArrayElementByItsIndexDemo.find().pretty();

以下は出力です -

{
   "_id" : ObjectId("5c8abbfc6cea1f28b7aa0803"),
   "InstructorName" : "David",
   "InstructorAge" : 28,
   "InstructorSubject" : [
      "MongoDB",
      "MySQL",
      "SQL Server",
      "PL/SQL"
   ]
}

サンプル出力を参照すると、配列要素「Java」が完全に削除されています。

以上がMongoDB でインデックスによって配列要素を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Mongodbの無料ティア製品(Atlasなど)の制限は何ですか? Mongodbの無料ティア製品(Atlasなど)の制限は何ですか? Jul 21, 2025 am 01:20 AM

Mongodbatlasの無料階層には、パフォーマンス、可用性、使用制限、ストレージに多くの制限があり、生産環境には適していません。まず、M0クラスターは、512MBのメモリと最大2GBのストレージを備えたCPUリソースを共有し、リアルタイムのパフォーマンスやデータの成長をサポートすることを困難にしました。第二に、マルチノードレプリカセットや自動フェールオーバーなどの高可用性アーキテクチャの欠如は、メンテナンスまたは障害中のサービスの中断につながる可能性があります。さらに、1時間ごとの読み取りおよび書き込み操作は限られており、接続と帯域幅の数も限られており、現在の制限をトリガーできます。最後に、バックアップ機能は制限されており、インデックスまたはファイルストレージのためにストレージ制限は簡単に使い果たされるため、デモまたは小さな個人プロジェクトにのみ適しています。

updateone()、updatemany()、およびlatedone()メソッドの違いは何ですか? updateone()、updatemany()、およびlatedone()メソッドの違いは何ですか? Jul 15, 2025 am 12:04 AM

MongoDBのupdateone()、updatemany()、およびlatedone()の主な違いは、更新範囲とメソッドです。 updateone()は、最初のマッチングドキュメントのフィールドの一部のみを更新します。これは、1つのレコードのみが変更されているシーンに適しています。 updatemany()は、すべてのマッチングドキュメントの一部を更新します。これは、複数のレコードがバッチで更新されるシーンに適しています。 spergingOne()は、最初のマッチングドキュメントを完全に交換します。これは、元の構造を保持せずにドキュメントの全体的なコンテンツが必要なシーンに適しています。 3つは異なるデータ操作要件に適用でき、更新範囲と操作の粒度に従って選択されます。

Mongodb Atlas vs.自己ホストのMongodb:どちらがあなたにとって正しいですか? Mongodb Atlas vs.自己ホストのMongodb:どちらがあなたにとって正しいですか? Jul 30, 2025 am 12:50 AM

Mongodbatlasは、完全に自動的な管理、迅速な展開、および組み込みセキュリティを提供するため、DBAリソースを欠く小さなチームや組織により適しています。 2。アトラスは透明であり、初期段階では予算が容易ですが、大規模な使用後の自己ホストよりも高い場合があります。インフラ料金は低いですが、労働とリスクコストに含める必要があります。 3.セキュリティとコンプライアンスの観点から、Atlasはエンタープライズレベルの構成にデフォルトであり、自動的に更新され、自己ホストを手動で実装する必要があり、エラーが発生しやすくなります。 4.強力な制御、カスタマイズのニーズ、またはデータの主権制限が必要な場合にホスティングを選択します。そうしないと、ほとんどのチームは、最初にATLAを選択して、運用とメンテナンスではなく製品開発に焦点を当てる必要があります。この選択は、最も時間を節約して信頼できるものであり、将来の柔軟な調整をサポートしています。

MongoDBのトランザクションとは何ですか?また、マルチドキュメント操作に酸性特性をどのように提供しますか? MongoDBのトランザクションとは何ですか?また、マルチドキュメント操作に酸性特性をどのように提供しますか? Jul 31, 2025 am 06:25 AM

mongodbinturcedmulti-documenttransactionsionsion4.0、ablingAtomicoperationsAcrossCollectionSforStrongconsency.stransactionsionsionsionsAllowMultipLeread/writeOperationSoperationSoperationSisingReunit、いずれかであり、

MongoDBデータベースをバックアップして復元するためのベストプラクティス MongoDBデータベースをバックアップして復元するためのベストプラクティス Jul 27, 2025 am 12:33 AM

usemongodumpandmongorestoreforlogicalbackups、できればcomptressionsandproperoptionsforrolesandcollections.2

作業セットの重要性は何ですか、そしてそれはRAM容量とどのように関係していますか? 作業セットの重要性は何ですか、そしてそれはRAM容量とどのように関係していますか? Jul 17, 2025 am 12:20 AM

theworkingsetdirectlyptactssystemperformance becuasexedsavailableram、thesystemslowsduduetopaging.1)theworkingsetconsistativedativedativedativedativestionstionstionsiontionsiontionsiontionsistives of gustopenapps.2)itdynammazevasedsurenttassurentclusincling dudesbothを使用してください

接続プーリングはMongoDBドライバーとどのように機能しますか?それが重要なのはなぜですか? 接続プーリングはMongoDBドライバーとどのように機能しますか?それが重要なのはなぜですか? Jul 16, 2025 am 01:30 AM

mongodbconnectionpoolingworksbymaintainingedabedAbaseconeconectonectionStoimproveformance.1)driverscreateinitialConnectionSatAppStart.2)whenAqueryRuns、anidLeconnectionistakenistaken.3)Afternection -returnStothStothStothStothEPOULINSTEDOPCLOSIS.4)

MongoDBレプリケーションにおけるOPLOG(操作ログ)の役割は何ですか? MongoDBレプリケーションにおけるOPLOG(操作ログ)の役割は何ですか? Jul 14, 2025 am 12:18 AM

Oplogは、データの同期を実装するためにMongodbレプリカセットの重要なメカニズムです。これは、フルネームオペレーションログを備えたローカルデータベースの特別なキャップコレクションであり、タイムスタンプ、操作タイプ、ターゲットコレクション、変更のコンテンツを含むすべてのメインノード(挿入、更新、削除など)のすべての操作を記録します。スレーブノードは、これらの操作をコピーして再生することにより、マスターノードと一致しています。たとえば、マスターノードが挿入操作を実行した後、操作はOPLOGに記録され、スレーブノードは同じ操作を読み取り、実行して同期を実現します。 Oplogの関数には次のものが含まれます。1。非同期複製を実現するために、ノードから順番にOPLOGエントリをプルおよび実行するための基礎になります。 2。

See all articles