マングースポピュレートリターンエンプティ

Xylops

マングースでは、現在2つのスキーマを取得しています。最初のスキーマは製品の詳細で、2番目のスキーマは在庫です。両方のスキーマは別々のファイルにあります。

ProductDetailスキーマ

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var productDetailSchema = new Schema({
    ProductID:{type:String,unique:true, require:true},
    ProductName:{type:String, require:true},
    Spec:String,
    Price:String,
    Unit:String,
    OwnBrand:Boolean,
    Inventory:{ type: Schema.Types.ObjectId, ref: 'inventoryModel'}
}, {collection:'products'});


module.exports = mongoose.model('productDetailModel', productDetailSchema)

在庫スキーマ

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var inventorySchema = new Schema({
    product:{ type: Schema.Types.ObjectId, ref: 'productDetailModel' },
    stockLevel:Number
}, {collection:'inventory'});

module.exports = mongoose.model('inventoryModel', inventorySchema)

この場合、在庫のstockLevelをproductDetailに入れたいと思います。このような

{
    ProductID:'P701',
    ProductName:'popcorn',
    Spec:'Large Pack',
    Price:'10.00',
    Unit:'packs'
    Inventory: 20
}

したがって、私はマングースのポピュレートメソッドを使用しようとしました

productDetail.findOne({ProductID:'P701'}).populate('Inventory').exec(function(err, doc){
    if(err){
        console.log(err)
    }else{
        console.log(doc)
    }
})

これは私の「インベントリコレクション」にあるデータです

{
    "_id" : ObjectId("584f663d95dfa29bad337572"),
    "ProductID": "P701",
    "StockLevel": "20"
}

および「ProductDetailコレクション」のデータ

{
    _id : ObjectId("584a3cea027c1f62da941acf"),
    ProductID:'P701',
    ProductName:'popcorn',
    Spec:'Large Pack',
    Price:'10.00',
    Unit:'packs'
}

何らかの理由でエラーは表示されませんが、console.log(doc)にはまだInventory:stockLevelが含まれていません。私は何か間違ったことをしていることを知っていますが、それがどこにあるのかわかりません。このコードが機能するために、どのような重要な概念が欠けていますか?前もって感謝します

ラヴィシャンカルバルティ

あなたのinventory中にproductDetailModelある必要がありObjectIdますが、ここに示したものからは、数(すなわち20)です。

{
    ProductID:'P701',
    ProductName:'popcorn',
    Spec:'Large Pack',
    Price:'10.00',
    Unit:'packs'
    Inventory: 20
}

これは次のようになります。

Inventory : ObjectId('someId');

ObjectId20が見つからないため、データが入力されていないのはそのためinventoryModelです。

編集

このproductDetailドキュメントには、のようなフィールドはありませんinventoryしたがって、データを入力することはできません。

{
    _id : ObjectId("584a3cea027c1f62da941acf"),
    ProductID:'P701',
    ProductName:'popcorn',
    Spec:'Large Pack',
    Price:'10.00',
    Unit:'packs'
}

次のようなものもあるはずです。

inventory :  ObjectId("584f663d95dfa29bad337572");//some `ObjectId` which corresponds to `inventoryModel` document.

インベントリfield作成し、一部のインベントリドキュメントのObjectIdを保存中にproductDetailドキュメントに保存する必要があります。または、更新中に保存する必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

GeoJSONマルチポリゴンのリーフレットJsコンピューティングエリア

分類Dev

データのクエリ中にマングースポピュレートが機能しない

分類Dev

マングースポピュレートのプロパティにアクセスできませんか?

分類Dev

ポリマーリピートテンプレート「リフレッシュ」

分類Dev

ジャンプターゲットのエンコーディング-コンピュータシステムプログラマーの視点

分類Dev

Google コンピューティング エンジンでテンプレートからインスタンスを作成しますか?

分類Dev

マングースポピュレートキャストエラー

分類Dev

GraphQLデータローダーとマングースポピュレート

分類Dev

AWS APIGateway統合リクエストボディマッピングテンプレート

分類Dev

リーフレットルーティングエラーのカスタマイズ(オプション)

分類Dev

文字列エンティティフレームワークマッピングのリスト

分類Dev

マングースポピュレートキャッシュ

分類Dev

リンクのリストを含むレスポンシブタイピングニュースティッカー

分類Dev

ポリマー再帰テンプレートバインディング

分類Dev

マングースディープポピュレート制限中間モデル

分類Dev

KafkaトピックパーティションとSparkエグゼキューターマッピング

分類Dev

仮想ポピュレートマングース

分類Dev

ポリマー-条件付きテンプレート内にコンテンツタグをネストする

分類Dev

ジャクソンとの非対称の名前/プロパティマッピング、よりエレガントなソリューション?

分類Dev

C ++テキストフィルタリングテンプレートライブラリ/エンジン

分類Dev

テンプレート Thymeleaf の Spring マッピング リソース

分類Dev

GoogleコンピューティングマシンHAXMインストール

分類Dev

選択したレンダリング方法に応じたマップボックスマーカー/ポイントのインタラクティブ性

分類Dev

コンテナ画像を使用してGoogleコンピューティングインスタンステンプレートを作成する方法

分類Dev

リピートテンプレートを使用したポリマー0.9アレイプッシュ

分類Dev

Django:テンプレートでデータベースクエリをフィルタリングする

分類Dev

Pythonマルチプロセッシンググーグルコンピューティングエンジン

分類Dev

Java、マルチスレッドアプリケーション、コンピューティング時にメインウィンドウが機能する

分類Dev

ポリモーフィックマッピングタイプ

Related 関連記事

  1. 1

    GeoJSONマルチポリゴンのリーフレットJsコンピューティングエリア

  2. 2

    データのクエリ中にマングースポピュレートが機能しない

  3. 3

    マングースポピュレートのプロパティにアクセスできませんか?

  4. 4

    ポリマーリピートテンプレート「リフレッシュ」

  5. 5

    ジャンプターゲットのエンコーディング-コンピュータシステムプログラマーの視点

  6. 6

    Google コンピューティング エンジンでテンプレートからインスタンスを作成しますか?

  7. 7

    マングースポピュレートキャストエラー

  8. 8

    GraphQLデータローダーとマングースポピュレート

  9. 9

    AWS APIGateway統合リクエストボディマッピングテンプレート

  10. 10

    リーフレットルーティングエラーのカスタマイズ(オプション)

  11. 11

    文字列エンティティフレームワークマッピングのリスト

  12. 12

    マングースポピュレートキャッシュ

  13. 13

    リンクのリストを含むレスポンシブタイピングニュースティッカー

  14. 14

    ポリマー再帰テンプレートバインディング

  15. 15

    マングースディープポピュレート制限中間モデル

  16. 16

    KafkaトピックパーティションとSparkエグゼキューターマッピング

  17. 17

    仮想ポピュレートマングース

  18. 18

    ポリマー-条件付きテンプレート内にコンテンツタグをネストする

  19. 19

    ジャクソンとの非対称の名前/プロパティマッピング、よりエレガントなソリューション?

  20. 20

    C ++テキストフィルタリングテンプレートライブラリ/エンジン

  21. 21

    テンプレート Thymeleaf の Spring マッピング リソース

  22. 22

    GoogleコンピューティングマシンHAXMインストール

  23. 23

    選択したレンダリング方法に応じたマップボックスマーカー/ポイントのインタラクティブ性

  24. 24

    コンテナ画像を使用してGoogleコンピューティングインスタンステンプレートを作成する方法

  25. 25

    リピートテンプレートを使用したポリマー0.9アレイプッシュ

  26. 26

    Django:テンプレートでデータベースクエリをフィルタリングする

  27. 27

    Pythonマルチプロセッシンググーグルコンピューティングエンジン

  28. 28

    Java、マルチスレッドアプリケーション、コンピューティング時にメインウィンドウが機能する

  29. 29

    ポリモーフィックマッピングタイプ

ホットタグ

アーカイブ