問題タブ [loopback4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - リレーションでデータを保存する (Nodejs / loopback 4 / mongoDB)
リレーション オブジェクトでデータ json を投稿できません。
私はmongoDBを使用しています。
table_1、table_2、table_3 の 3 つのテーブルがあります。
私は関係を作成しEmbedsMany
、EmbedsOne
-
table_2 EmbedsOne
table_1。
- table_2 EmbedsMany
table_3。
table_1 の項目で table_2 の新しい項目を作成するための create post data json がわかりません。
リポジトリ モデル 2
Json データ投稿
コントローラーはによって生成されますlb4 controller
予期される:
- アイテムはEmbedsOne
、table_1 のアイテムと共に table_2 に保存されます。
実際:
- エラー:
javascript - generated: true がループバック 4 で機能しない
私は Loopback 4 を初めて使用し、モデルを作成してから MYSQL にデータ ソースを作成し、次にリポジトリ、次にコントローラー (REST) にhttp://127.0.0.1:3000/explorer/#/TodoController
移動してから、POST セクションにアクセスして、取得したデータを挿入しようとしました。
POST /todos で未処理のエラー: 500 エラー: ER_NO_DEFAULT_FOR_FIELD: フィールド 'id' に既定値がありません。
インターネットを検索したところ、フィールドgenerated: true
が自動インクリメントされることがわかり、実行して再度 POST セクションにデータを挿入しましたが、同じエラーが発生しました。MYSQL-DB の(auto-increment) フィールドを trueに変更すると、データが正常に挿入されました。id
npm run migrate
A.I
id
フィールドを自動インクリメントしたいのですがid
、どうすればそれを行うことができますか。プロパティの下で試してみgenerated: true
ましたが、機能しませんでした。todo.model.ts
id
loopback4 - テスト用のループバック変更リポジトリ データソース
loopback This exampleに付属するこの例のように、mocha でループバック エンドポイントをテストしたいのですが、メイン クラスをインスタンス化するときに、各リポジトリに注入されたデータソースを使用していますが、mocha でテストするためだけに変更したいリポジトリ データソースからインメモリ データソースへ
では、npm test と入力した瞬間にインメモリ データソースのこのインジェクションを変更するにはどうすればよいですか