我有一个已经在运行和存储数据的现有 mongoDB 服务器,可以说它包含集合:“ name ”和“ id ”。我使用insert
命令存储这些集合。现在我需要添加一个新集合,让我们说“地址”。我也可以使用简单地添加“地址”集合insert
吗?每次我使用mongoDB都会创建一个新模式insert
还是只是更新模式?我的意思是,mongoDB 会创建一个包含上面三个的新 模式,还是只会用新的模式更新现有的模式?用现有代码更好地解释自己:
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);
});
});
谢谢!