0

最近ノードの学習を開始し、Express js フレームワークを使用しています。

私は Backbone js の経験が少しあるので、Christophe Coenraets の素晴らしいチュートリアルを見つけました。必要なものはすべて揃っています。

Node js で私を最も混乱させているのは、データベースの操作です。(私はPHPを使用していたので、MYSQLにしか慣れていません)

たとえば、このチュートリアルでは、このファイルに

https://github.com/ccoenraets/nodecellar/blob/master/routes/wines.js

彼は「populateDB」関数を使用して、アプリの起動時にいくつかの運命的なデータを初めてデータベースに入力します。

PHPを使用していたので、そこで行っていたのと同じことを何をすべきか、データベース構造またはシェルのようなものを作成して、頭の中にデータを表すイメージを持たせることができます。たとえば、いくつかの例を見ました「mongoose」のモジュール「mongo db object modeling」とは「スキーマ」とかそういうものがあります。

Node jsでデータベースを操作する際の正しいロジック、アプリを作成するときにどのように開始するか、プロセスなどを説明してもらえますか? 作業を開始するのは少し混乱し、最初からデータベースがどのように見えるかわかりません。

Tnxたくさん!:)

4

1 に答える 1

1

mongodb のような NoSQL データベースの特徴は、従来の列、行、およびテーブルがなくなったことです。フィールド、ドキュメント、コレクションができました。SQL から MongoDB へのマッピング チャートを参照してください

Mongoose は、アプリケーション データをモデル化するためのスキーマ ベースのソリューションを提供するフレームワークです。使用する必要はありませんが、コレクションに直接 JSON を挿入する代わりに、SQL スキーマと同様の定義済みのスキーマとモデルを使用するオプションを提供します。mongodbの利点はスキーマレスであると想定されているのに、なぜ mongoose はスキーマを使用するのですか?を参照してください。詳細については。

例えば:

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');

var Schema = mongoose.Schema;

var catSchema = new Schema({ //cat schema
  name:  String,
  age: Number
});

var Cat = mongoose.model('Cat', catSchema); //cat model

var kitty = new Cat({ name: 'Zildjian', age: 5 }); //kitty is a cat
kitty.save(function (err) {
  if (err) // ...
  console.log('Error saving to the database');
});

...これで、mongodb に子猫が保存されました

開始するには、mongod と mongodb をダウンロードしてインストールし、npm install mongoose を実行して、mongoose を介してスキーマとモデルを作成します。

データベースからドキュメント/行をクエリ/検索/取得するには、model.find() を使用します。例:

// named Zildjian and at least 5
Cat.find({ name: 'Zildjian', age: { $gte: 5 }});

詳細については、model.find APIを参照してください。

于 2013-10-23T23:38:27.840 に答える