既に実行され、データを保存している既存の mongoDB サーバーを取得しました。これには、" name " と " id " というコレクションが含まれているとします。コマンドを使用してこれらのコレクションを保存しinsert
ます。ここで、新しいコレクションを追加する必要があります。「アドレス」としましょう。を使用して「アドレス」コレクションを追加することはできinsert
ますか? mongoDB は使用するたびに新しいスキーマを作成しinsert
ますか、それともスキーマを更新するだけですか? つまり、mongoDBは上記の 3 つを含む新しい スキーマを作成するのでしょうか、それとも既存のスキーマを新しいスキーマで更新するだけなのでしょうか? 既存のコードで自分自身をよりよく説明します:
var env = {
'User': 'aaa',
'Pass': '123',
'stats_a': 'collectionA',
'db_name': 'localhost:27017/nodedb',
'proxy_name': 'proxy',
'proxy_port': 8080
};
var monk = require('monk');
var db = monk(env.db_name);
//now i will get the collection and store data in it
var CollectionA = db.get(env.stats_a);
// create data to insert...
CollectionA.insert(data)
今、私は新しいパラメータを追加してからvar env
、次のように挿入したいと思います:
var env = {
'User': 'aaa',
'Pass': '123',
'stats_a': 'collectionA',
//new collection
'stats_b': 'collectionB',
//new collection
'db_name': 'localhost:27017/nodedb',
'proxy_name': 'proxy',
'proxy_port': 8080
};
var monk = require('monk');
var db = monk(env.db_name);
//now i will get the collection and store data in it
var CollectionA = db.get(env.stats_a);
var CollectionB = db.get(env.stats_b);
// create data to insert...
CollectionA.insert(data)
CollectionB.insert(data)
私が使用すると更新が機能する後のコードです(time_stampが存在すると仮定します):
var retJson = {A: {}, B: {}};
var CollectionA = db.get(env.stats_a);
var CollectionB = db.get(env.stats_b);
CollectionA.findOne({}, {sort: {time_stamp: -1}}, function (err, doc) {
retJson.A = doc;
CollectionB.findOne({}, {sort: {time_stamp: -1}}, function (err, doc) {
retJson.B = doc;
res.set('Access-Control-Allow-Origin', '*');
res.send(retJson);
});
});
ありがとう!