MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDBでキーが不明な場合を見つけますか?


キーが不明な場合を見つけるには、$addFieldと$objectToArrayを使用します。まず、ドキュメントを使用してコレクションを作成しましょう-

> db.demo375.insertOne(
...    {
...       "details":{
...          "Name":"John",
...          "Age":23
...       }
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5a0ae42ae06a1609a00b06")
}
> db.demo375.insertOne(
...    {
...       "details":{
...          "Name":"David",
...          "Age":21
...       }
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5a0ae42ae06a1609a00b07")
}
> db.demo375.insertOne(
...    {
...       "details":{
...          "Name":"David",
...          "Age":22
...       }
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5a0ae42ae06a1609a00b08")
}

find()メソッドを使用してコレクションからすべてのドキュメントを表示する-

> db.demo375.find();

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5e5a0ae42ae06a1609a00b06"), "details" : { "Name" : "John", "Age" : 23 } }
{ "_id" : ObjectId("5e5a0ae42ae06a1609a00b07"), "details" : { "Name" : "David", "Age" : 21 } }
{ "_id" : ObjectId("5e5a0ae42ae06a1609a00b08"), "details" : { "Name" : "David", "Age" : 22 } }

以下は、キーが不明な場合を見つけるためのクエリです-

> db.demo375.aggregate([
...    { "$addFields": {
...       "UnknownKeys": { "$objectToArray": "$$ROOT" }
...    }},
...    { "$match": { "UnknownKeys.v.Name": "David" }},
...    { "$project": { "UnknownKeys": 0 }}
... ])

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5e5a0ae42ae06a1609a00b07"), "details" : { "Name" : "David", "Age" : 21 } }
{ "_id" : ObjectId("5e5a0ae42ae06a1609a00b08"), "details" : { "Name" : "David", "Age" : 22 } }

  1. MongoDBコレクションのすべての名前を取得します

    元々は2019年1月18日にObjectRocket.com/blogで公開されました。 スキーマを検証したり、フィールドのタイプミスをデバッグしたり、設定すべきでないフィールドを見つけたりするには、MongoDB®コレクションのすべてのキーを理解する必要があります。 ObjectRocketを含む多くのMongoDB-as-a-Service企業は、ユーザーインターフェイス(UI)でこれを行う簡単な方法を提供しています。経験豊富なMongoDBusersは通常、MongooseforJavaScript®やMongoengineforPython®などのオブジェクトドキュメントマッパ

  2. MongoDBコレクション内のすべてのキーの名前を取得する

    スキーマを検証したり、フィールドのタイプミスをデバッグしたり、設定されていないフィールドを見つけたりするには、MongoDBコレクションのすべてのキーを理解する必要があります。 多くのMongoDB-as-a-service企業は、ObjectRocketを含め、UIでこれを行う簡単な方法を提供しています。経験豊富なMongoDBユーザーは通常、JS用のMongooseやPython用のMongoengineなどのオブジェクトドキュメントマッパー(ODM)から始めます。これにより、アプリケーションの一貫したスキーマを構築し、タイプミスを減らすことができます。 (ODMは型の検証も行うため、整