問題タブ [nedb]
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 - AngularJS で値を返す
データベースにクエリを実行し、カテゴリを返す角度サービスを作成しました。
内部でconsole.logを実行するfunction loadCategories()
と、6つのオブジェクト(データベースからのオブジェクト)の配列が返されますが、関数の外ではundefined
.
私はコントローラ経由で呼び出していますCategoriesService.loadCategories()
だから私は何かをしなければならないかもしれないと思うが、promise
それについてはよくわからない。
このサービスから実際のデータを取得するにはどうすればよいですか?
json - nedb 結果へのアクセス
問題は、nedb の「find」コマンドから返された複数のドキュメントにアクセスする方法です。
nodejs で nedb を使用して得た洞察を理解する。
nedb find を介して返されたドキュメントとキーと値のペアへのアクセスについて: これは機能します: docs[0].current.temp_f は機能します。
背景と詳細: 私は JavaScript、nodejs、nedb を初めて使用し、mongodb を使用したことはありませんが、nedb には同様の API があることを理解しています。
投稿の理由: このサイトをよく利用していますが、問題の解決策が見つかりませんでした。私はついに自分でそれを理解し、コミュニティに貢献できるようにここに投稿しています.
API を使用して Wunderground にアクセスしています。よく働く。次に、nedb API の「挿入」コマンドを使用して結果を nedb にプッシュしました。これについては、ここや他の場所に複数の例があります。
nedb API の find コマンドを使用して、データを取得できました。console.log() を使用して印刷できます。繰り返しますが、このための複数の例がここと他の場所にあります。
Wunderground は、(この形式で要求された場合) {response:{...some data}, current_observation:{...some data...temp_f...some more data}} という形式で JSON オブジェクトを返します。 nedb データベースに挿入されます。
nedb API の「find」コマンドを使用する (例:
db.find({},function(err,docs) {console.log(docs);} データを出力できましたが、構造全体ではなく、いくつかのキーと値のペアを取得したいだけでした。docs.current_observation.temp_fのようなものがうまくいくと思っていましたが、これは常に「未定義」であり、エラーが発生しました。
私はこの分野で非常に新しいので、私が理解できなかったのは、nedbがデータの「セット」を返すということです。JSON オブジェクトを挿入していたので、この場合は JSON オブジェクトの配列です。nedb の npmjs.com サイトのどこにもこれが言及されているのを見たことがありません。ですから、この知識が不足している自分のような人に警告したかったのです。
key:value 情報を取得するために最終的に機能したのは次の
とおりです。
ここでは、配列要素 0 にアクセスしています。
もちろん、これは for/in ループのような結果になる可能性があります。
返された結果セットから key:values を取得するための追加のアイデアがあれば、知りたいです。
javascript - 射影構文エラーのある NeDB クエリ
シンプルな NeDB リクエストの構文を取得します。Feathers/NeDB 用に作成したクエリの何が問題になっていますか?
ありがとうございました
node.js - NeDB を使用して、あるドキュメントを別のドキュメントから参照する (SQL スタイルの結合)
私は NeDB にたくさんのドキュメントを持っています。たとえば次のような形式です:
(したがって、「アクション」は「顧客」を参照します)
そして、すべてのアクションを顧客名とともにリストするようなことをしたいと思います。これを行う明白な方法は次のとおりです。
しかし、それはすぐに痛くなります。これを行うより良い方法はありますか?何かのようなもの:
すごいでしょう。
やりたいと思うのは本当に一般的なことのようですが、それを行うための情報が見つからないようです。
ありがとう!
mongodb - ローカル マシンで mongodb のサブセットを同期しています
のサブセットを、 のMongodb
ような軽量データベースを持つローカル マシンに同期したいと考えていますNeDB
。変更されたデータのみを取得できるように、2 つのデータベースのデータの違いを確認するために使用できる方法は何ですか?
node.js - nodejs: nedb ファイル名パスが問題を引き起こしています。直し方?
私は経験豊富なプログラマーですが、nodejs、nedb、Mocha には比較的慣れていません。
nedb は、少量のデータを使用するための nodejs npm モジュールであり、Mongodb で使用されるインターフェースの一部を複製します。これを選択したのは、Beaglebone Black または Raspberry Pi で実行するアプリを作成しており、小さなデータのニーズに対して Mongodb のオーバーヘッドが必要なかったからです。
ただし、nedb のファイル名のパス部分に問題があります。作業中の myapp.js が現在のパスに対してローカルで呼び出された場合は問題なく動作しますが、Mocha テスト ディレクトリなどの別のディレクトリから呼び出した場合、nedb は同じパスでは動作しません。相対パスでも機能しません。Mocha テスト ディレクトリから動作させるには、/home で始まるフル パスを指定する必要があります。言うまでもなく、これは本番環境では /home のベースで実行されていないため、不便であり、本番環境では禁止されています。
次のコードで、myapp.js は私が開発およびテストしているアプリケーションです。useMyapp.js は、簡単にするために myapp.js を使用するためのユーティリティ テストです。これらはすべて同じディレクトリにあり、useMyapp.js を呼び出すと正しく機能します。
myapp.js は /home/geek/project/public/javascripts/ にあります
myapp.js のコードは次のとおりです。
useMyapp.js は /home/geek/project/public/javascripts/ の同じディレクトリにあります。
useMyapp.js のコードを次に示します。これは正しく機能し、予想される nedb レコードを出力します。
useMyapp.js を Mocha テスト ディレクトリにコピーし、名前を TestUseMyapp.js に変更して、/home/geek/project/test/ に移動しました。require ステートメントを myapp.js への相対パスに調整しました。ホーム/オタク/プロジェクト/テスト/
これを nodejs 経由で実行した場合の出力は、空のデータ セットです: docs found: []
問題: TestUseMyapp.js は「require」ステートメントに従って myapp.js を見つけてロードできますが、myapp.js が別のディレクトリから呼び出されると、nedb のファイル名パラメーターが機能しません。ファイルパスがすべて異なるため、開発、Mocha テスト、および本番環境での実行の間で問題が発生しています。
myapp.js の複製を作成し、myapp2.js という名前を付けて、/home/geek/project/public/javascripts の myapp.js と同じディレクトリに保存しました。これで、nedb ファイル名パラメーターのパスを変更しました。myapp2.js のコードは次のとおりです。唯一の変更点は、ファイル名のパラメーター パスであることに注意してください。
フル パスを使用して myapp2.js に対してテストを呼び出したとき、これは期待どおりに機能します。
質問: 開発、Mocha テスト、本番環境への展開の間でファイル名パスを変更する必要がないように、nedb でファイル名パスの問題を解決するにはどうすればよいですか?
ありがとう!