ホームページ  >  記事  >  バックエンド開発  >  2 つの構造をモデルにした Mongo ドキュメントを作成するにはどうすればよいでしょうか?

2 つの構造をモデルにした Mongo ドキュメントを作成するにはどうすればよいでしょうか?

王林
王林転載
2024-02-14 23:54:10841ブラウズ

如何创建一个 Mongo 文档,在两个结构之后对其进行建模?

php エディター Baicao は、この記事で Mongo データベースにドキュメントを作成し、2 つの異なる構造間でドキュメントをモデル化する方法を紹介します。 Mongo データベースでは、ドキュメントは、リレーショナル データベースの行やドキュメントと同様に、データの保存と編成に使用される基本単位です。 Mongo の柔軟性と拡張性をより有効に活用するために、ドキュメントを作成する前に、特定のニーズを満たすようにドキュメントの構造を計画および設計できます。次に、Mongo ドキュメントを作成し、それをさまざまな構造間でモデル化する方法を詳しく説明します。

質問内容

gingonicとmongoのデータベースを使って簡単なAPIを作りました。このような単純なオブジェクトを API に投稿して、同じ形状の mongo ドキュメントを作成します。配列を使用した例はたくさん見つかりましたが、マップは見つかりませんでした。これは、www.mongodb.com のクイックスタートに従って実行しました。

リーリー

これら 2 つの go 構造があります (ユーザー ファイルと構成ファイル用)

リーリー

これは私の作成関数です:

リーリー

ドキュメントが作成されますが、次のようになります (サブドキュメント プロファイルはありません):

リーリー

Go 構造を使用せずに新しいドキュメントを作成することは正常に機能します。では、サブドキュメントを含む go 構造体を使用して json オブジェクトをモデル化するにはどうすればよいでしょうか? github でもあまり例が見つかりません。誰か私を正しい方向に向けたい人はいますか?

{
    "email": "[email protected]",
    "profile": {
        "first_name": "Test",
        "last_name": "Example"
    }
}

回避策

bson:"profile,inline"タグを使用してインライン化を指示したため、データベースにサブドキュメントがありません。 。それはあなたが要求したことを正確に実行します。

設定ファイルをインライン化したくないがサブドキュメントがある場合は、,inline オプションを削除します:

リーリー

以上が2 つの構造をモデルにした Mongo ドキュメントを作成するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。