問題タブ [mongoose-schema]

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.

0 投票する
1 に答える
268 参照

node.js - Mongoose はオブジェクトを作成する必要がありますが、別のオブジェクトが既にこのプロパティを持っている場合はプロパティをスキップします

タイトルがわかりにくいと思いますが、もっとわかりやすく説明させてください。

私のマングーススキーマは次のようになります。

このスキーマを使用して 3500 の場所を作成するコードをいくつか書きました。問題は、多くの場所で の値が同じであることですtwp。この場合、オブジェクトを作成する必要がありますが、作成twpされた他のオブジェクトに同じtwp.

上記のように、上記のユニークなアプローチを使用してみました。わかりやすくするために、2 つのサンプル オブジェクトを次に示します。

オブジェクト 1:

を持つ新しいオブジェクトを作成する場合は、作成しtwp: 001Nたいと思いますが、次のようになります。

サーバー JS には 3,000 個のオブジェクトの配列があります。この配列をループして、次のように各アイテムの Location オブジェクトを作成しています。

0 投票する
1 に答える
2558 参照

mongoose - mongoose pre update フック - ドキュメントの更新が機能しない

マングース v4.4.7

別のモデルのコントローラーから駐車モデルを更新しています。その更新の前に 2 回目の更新を行いたいのですが、マングース フックでは機能しないようです。

このクエリを考えると...

私は何かをしたい...

self.update は何もしていないようです。 console.log(this) を更新前のフックに追加しましたが、表示されません。

私は何を間違っていますか?

更新前/更新後のフックでドキュメントを照会することはできませんか?

0 投票する
2 に答える
478 参照

mongoose - Mongoose save() は findOne() の前に戻ります

Mongoose、Express、NodeJS を使用して承認システムを実装しています。

各投稿には 2 セットの承認があります。

私は以下のようにモデルを実装しました:

関数で最初にマッピングを見つけてから、保存時にメインの投稿オブジェクトを更新しようとしています。

新しい投稿を保存する前に、両方の承認者 ID を取得する必要があります。

うまくいく方法を教えてください。私は現在やっています:

  1. Save を使用して新しい Post オブジェクトを保存します
  2. ApprovalMapSchema で findOne を使用して承認者 ID を取得する
  3. 承認者のエントリで Post オブジェクトを更新します。

    post.save(function(err, doc) { if (err) {} else { console.log({success: true, msg: 'Successful created new post', content: doc}); } });

    /li>

これは私にとってはうまくいきません。助けてください!

0 投票する
1 に答える
992 参照

node.js - Node.jsでエラーが発生しても同じページに留まる

私はNode.jsが初めてです。これに関するいくつかの解決策を教えてください。

登録フォームを作成してページを投稿したところです。また、Mongoose 検証を使用しました。投稿されたページにエラーメッセージが表示されているため、リクエストを投稿している場所から同じページにとどまる方法。

または、私が使用している場合、

次に、ページに完全なエラーメッセージを表示します。しかし、まだ投稿されたページにあります

0 投票する
3 に答える
2215 参照

node.js - find() 中にデータベースに存在しない mongoose のデフォルト値を制限する方法

次のスキーマがあります。

しかし、たとえばデータを見つけたとき

それはいつも戻ってくる

testフィールドなしでクエリを変更せずにデータを取得するために、特別なパラメータを変更または追加するにはどうすればよいですか。

また、モデルにデフォルト値を設定しましたtest: "hello world" が、この値を応答に表示したくありません。私も設定this.test = undefined;しましたが、これは、このデフォルト値がデータベースに追加されるのを妨げていることを意味するはずですが、応答としてまだこれを取得しています。

0 投票する
2 に答える
247 参照

node.js - MongooseJS: クエリから特定のドキュメントを非表示にする

ブール型のアクティブ化されたフィールドを持つユーザー スキーマがあります。を含むドキュメントのみを返すクエリが必要ですactivated: true。そして、すべての find、findOne、または findById に条件を追加するよりも効率的で DRY な方法があることを願っています。

最も効果的なアプローチは何ですか?

0 投票する
0 に答える
227 参照

javascript - Mongoose 検索は ObjectId から検索されません

私は他の多くのモデルで同じようなことをしていますが、このモデルでは機能していません。誰かが間違いを見ることができますか?

注文スキーマ:

注文アイテムのスキーマ:

問題は、注文を削除しようとすると、ミドルウェアの事前削除が発生し、console.log に正しい ID が表示されますが、削除しても何も見つかりません (以前は item.remove() で検索しても結果がありませんでした)。

フィルターなしで見つけた場合、特定の注文のアイテムを含むすべてのアイテムが表示されますが、注文 ID を使用してフィルター処理しようとすると (正しいことを確認しました)、常に空の配列が返されます。

どうも