問題タブ [mongoose-plugins]
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.
javascript - MongooseJS - 検索に続いてカウントを実行した後にクエリを返す
コレクション内のオブジェクトの数を取得し、その数を使用して検索を実行したいと考えています。コードは現在次のようになっています。
testModel
マングースのモデルはどこですか。そして、これはうまくいきます!count
ただし、上記が nullの場合は、実行前のクエリ全体 (を含む) を返すこともできるようにしてcallback
、ユーザーがパイプラインにさらにオプションを追加できるようにしたいと考えています (例: populate)。どうすればこれを達成できますか?
node.js - Mongoose を使用して親への参照を設定し、passportjs での認証後に完全な親を表示する
と の次のスキーマがuser
ありsp
ます。sp
サービスプロバイダーの略です。サービスプロバイダーはユーザーであり、ユーザーへの参照があります。NodeJSのPassportJSモジュールを使用してサインアップおよびサインインしようとしています。にサインアップできsp
、MongoDB コレクション内のデータが保持されていることを確認 users
できsps
ましたが、プロファイル ページに sp の完全なデータを表示できません。ユーザーデータのみを表示できます。たとえば、認証後、プロフィール ページにsp
のデータが表示されません。spname
コードの一部を次に示します。
ユーザーのスキーマ:
sp のスキーマ:
ログイン用の PassportJS コード:
プロファイルの表示:
profile.ejs
sp
オブジェクト全体とそのすべてのデータを表示するために何をすべきか、誰かが私を助けてくれますか?
node.js - Mongoose のプラグイン内のスキーマへの静的メソッドの呼び出し
私はプラグインを書きます:
そして、ここに私のスキーマがあります:
プラグインの外部で静的メソッドを記述した場合、それは機能しています。Mongooseからの制限ですか?
android - リストの最後に到達したら、さらにレコードをロード (リストビュー)
ユーザーが画面スクロールでリストの最後に到達したときにサーバーから読み取って、リストビューで次の10個の値を表示する必要があるという要件があります。
「ボレー」を使用して、サーバーからデータを非同期に取得しています。私のサーバー コードは Node.js + その中の mongoose と MongoDB で構築されています。npm-mongoose-paginateでマングースのページネーションについて読みました。誰かが私を助けてくれますか、これを使用する明確な例で説明してくれますか? ありがとうございました
javascript - this.find(...) は静的メソッド内でコールバックに到達しません
私は友情ベースの関係をスキーマに追加するモジュールに取り組んでいます。
私は基本的に、この男がやろうとしていることをやろうとしています(私の知る限り、うまくいくはずです-これは落胆しています)
がコールバックに到達find(...)
しないのはなぜですか?FriendshipSchema.statics.getFriends
編集- 予想される実行フローを説明させてください...
内側accounts.js
:
- 「friends-of-friends」モジュール (loads
friends-of-friends/index.js
) が 必要です。- を作成し、静的メソッドを追加し、モデルを返す
friends-of-friends/friendship.js
関数をエクスポートする必要があります。FriendshipSchema
Friendship
friends-of-friends/plugin.js
静的メソッドとインスタンス メソッドを AccountSchema に追加する mongoose プラグインをエクスポートする必要があります。
- を作成し、静的メソッドを追加し、モデルを返す
- から機能をプラグインするために
FriendsOfFriends.plugin
( を参照) を使用します。friends-of-friends/index.js
friends-of-friends/plugin.js
- を定義
AccountSchema.statics.search
しますthis.getFriends
。はコンパイルされたモデルを参照し、プラグインが追加された
ため、内での呼び出しは inで定義されているように呼び出されます。this
Account
schema.statics.getFriends
this.getFriends
AccountSchema.statics.search
schema.statics.getFriends
friends-of-friends/plugin.js
Friendship.getFriends
FriendshipSchema.statics.getFriends
friends-of-friends/friendship.js
this.find(...)
- アカウント ドキュメントを取得した後、 を呼び出し
account.search('foo', function (...) {...});
ますが、 でわかるようにFriendshipSchema.statics.getFriends
、find
メソッドは実行されますが、そのコールバックは呼び出されず、プログラムがハングします :(
エラーは発生しないので、これが論理的な問題であることはわかっていますが、なぜハングアップするのかわかりません...
編集- 以下の私の回答を参照してください。モデルを呼び出す前に、モデルをコンパイルする必要もありfind
ました。
account.js
友達の友達/index.js
友達の友達/friendship.js
友達の友達/plugin.js
node.js - マングース サブドキュメントの配列のインスタンス メソッド
私は次のようなマングーススキーマを持っています
friends
インスタンスメソッドを配列にアタッチしたいと思います。たとえば、次のmyFunction
ように呼び出すことができる関数です。
マングースはそうする方法を提供しますか?
PS:ここで、@wciu は、サブドキュメント自体で関数を定義できるかどうかを尋ねました (これは可能です)。ここでの問題は、配列で定義できるかどうかです。
mongoose - Keystone LocalFile フィールドでカスタム dev/prefix を指定する方法
後で List.add に渡すスキーマ オブジェクトの keystone.List コンストラクターで autokey プラグインから生成された同じ値を使用したいと考えています。
私がやろうとしていることは、より正確には次のとおりです。
だから、もちろんうまくいきません。autokeyed slug 値が何であれ、スキーマの後の時点で再利用するにはどうすればよいですか?
ちなみに、参照は「format」関数で機能します。その関数が呼び出されると、インスタンス化されたモデルを介して保存された値をプルできるからです。