データベースに約5,000,000のレコードがあります。私はDataTablesを使ってレコードを管理する管理パネルを構築しています。 私はNode.jsをMongoDBでサポートしています。NodeJSで巨大なデータを持つDatatableを使用しているときに検索エラーが発生する
私はこのライブラリを使用していた - https://www.npmjs.com/package/datatables-query
をこれまでのところ、ページの読み込みに私が正常に下の画像に示すような結果ロードされています。
私は検索ボックスに何かを入力するたびにスクリーンショットに示すように、私は500エラーを取得します。ここで問題になる可能性がどのような
?
DataTableは、大量のデータを含むグリッドを表示するのに適していますか?また、Node.js、Express、MongoDBのコンボを考慮した方がよいでしょうか?
ここに私のサーバーサイドコードがあります。私はおそらく作成します
app.post('/getUsersData',function(req, res) {
var Model = require('./models/user'),
datatablesQuery = require('datatables-query'),
params = req.body,
query = datatablesQuery(Model);
query.run(params).then(function (users) {
var data = JSON.stringify(users);
// var data = JSON.stringify(users);
res.end(data);
}, function (err) {
res.status(500).json(err);
});
});
私は3列
1とユーザーという名前のMongoDB内のテーブルを持っている)名前
2)メール
3)パスワード
$(document).ready(function() {
var table = $('#datatable').DataTable({
// dom: 'Bfrtip',
processing: true,
serverSide: true,
order: [[1, 'asc']],
"aoColumnDefs": [ { "sClass": "hide_me", "aTargets": [ 0 ], visible: false } ], // first column in visible columns array gets class "hide_me"
ajax: {
url: "/getUsersData",
type: 'POST',
dataSrc: "data"
},
columns: [
{ data : "_id"},
{ data : "name" },
{ data : "email" },
{ data : "password" },
],
responsive: true
});
});
特定の列(場合によってはリレーショナルデータ)がある場合、MongoDbの選択はなぜですか? (批判ではなく、ちょっと好奇心) – DarkMukke
チュートリアルのほとんどでNodeJSを学んでいる間、先生はMongoDBを使っていたので、私は先に進んだ。他のデータベースをお勧めしますか? – Anirudh
これは、SQLとSQLの対戦を簡単に開始できる非常に懐疑的な人たちの質問ですが、私は、relational data(十分なノードpgsqlドライバがあります)とpostgresの両方を使用しています。すでにSQLを知っていれば、新しい言語を学ぶだけでそれを変更する必要はありません。 – DarkMukke