2

Mongooseを介してNode.jsのMongoDBに接続しようとしています。すべての例では、ドキュメントを保存して検索する前に、まずドキュメントのスキーマを設計する方法について説明しています。

ただし、Java(Morphia)を使用してMongoDBで多くのスキーマをすでに定義しています。MongooseのMongoDBにある既存の(暗黙的に)既存のスキーマを活用する方法はありますか?つまり、作成されるドキュメントのタイプに関するメタデータがMongoDBに格納されていることを想像できます。これは、Mongooseが独自のクライアント側スキーマを作成するために使用できます。

ありがとう。

4

2 に答える 2

1

作成されるドキュメントのタイプに関するメタデータがMongoDBに格納されていることを想像できます。これは、Mongooseが独自のクライアント側スキーマを作成するために使用できます。

MongoDBには、コレクションの内容に関するメタデータがまったくありません。「フィールドマップ」や一般的なタイプはありません。インデックスには、最後にチェックした統計すらありません。

MongooseのMongoDBにある既存の(暗黙的に)既存のスキーマを活用する方法はありますか?

私が考えることができる最高のものは、プログラムによる変換です。つまり、Javaソースファイルを読み取り、JSバージョンを書き出します

または、スキーマをまったく定義できないだけです。あなたはまだ完全に有用なJSオブジェクトを取り戻すでしょう。

于 2012-04-27T19:27:11.093 に答える
0

上記の答えは正しいです、そしてここに私のために働いたコードの一部があります:

mongoose.model('Cat', new mongoose.Schema({ CatId: String })); // my schema is known to have cat id (I might not need this actually)

var mondb = mongoose.createConnection('localhost', 'kitten'); // connect to kitten db
var c = mondb.model('Cat'); // get the cat model from mongoose connection
c.find({name:"lior"}).exec(function(err,c) { // and now use it with different fields for queries
   if (err) {
    ...
   }
   else
       ...
   }
);
于 2013-01-30T16:58:38.360 に答える