25

MongoDB をデータベースとして使用するアプリケーションがあります。アプリケーションは、いくつかのコレクションを使用します。

すべてのコレクションと必要なインデックスの設定を含む、データベースの「スキーマ」の定義はいつ、どのように行えばよいですか?

私の知る限り、MongoDB で空のコレクションを定義することはできません (間違っている場合は修正してください。これができれば、基本的にこの質問に答えることができます)。各コレクションにダミーの値を挿入し、それを使用してすべてのインデックスを設定する必要がありますか?

これのベストプラクティスは何ですか?

4

7 に答える 7

2
const mongoose = require("mongoose");
const RegisterSchema = mongoose.Schema({
  username: {
    type: String,
    unique: true,
    requied: true,
  },
  email: {
    type: String,
    unique: true,
    requied: true,
  },
  password: {
    type: String,
    requied: true,
  },
  date: {
    type: Date,
    default: Date.now,
  },
});

exports.module = Register = mongoose.model("Register", RegisterSchema);

このチュートリアルを見ました。

于 2021-06-27T12:57:59.420 に答える
1

MongoDB がスキーマレスであることは既に説明済みです。ただし、実際には、一種の「スキーマ」があります。これは、MongoDB データベースが表すオブジェクトのオブジェクト空間です。Ruby が私の頼りになる言語であり、この回答の網羅性について主張するつもりはありません。2 つのソフトウェアを試すことをお勧めします。

1. ActiveRecord (part of Rails)
2. Mongoid (standalone MongoDB "schema", or rather, object persistence system in Ruby)

ただし、学習曲線を期待してください。Python など、私の専門外の優れた言語での解決策を他の人が指摘してくれることを願っています。

于 2013-06-08T11:58:52.357 に答える