使用javascript的mongo shell:
db.collection.insert()
我可以允许集合名称是动态的,以便使用多个集合吗?
答案 0 :(得分:9)
来自mongo shell:
您可以使用var为集合名称
创建变量var colName = "mytest"
然后执行对集合的所有操作,如下所示:
db[colName].find()
db[colName].rename("newName")
等。 这将帮助您保持您的集合名称动态,甚至可以更新它,保持命令相同。
希望这有帮助!
答案 1 :(得分:5)
这是我对这个问题的想法,检查它是否有帮助:
function insertIntoColumn(colName){
if(!colName) {
return;
}
return db[colName].insert();
}
答案 2 :(得分:4)
如果你刚才谈到mongo shell:
var col = db.collection;
col.find()
所有其他命令都非常有效。数据库也是如此:
var odb = db.getSiblingDB("other")
现在odb
适用于“其他”数据库。
odb.othercollection
将在“其他”数据库中使用“othercollection”,而db
仍然是当前的数据库。
这只是JavaScript,所以“对象”的任何内容都是有效的。
答案 3 :(得分:2)
// This seems to work too.
var collectionNames = ["collection1", "collection2"];
collectionNames.forEach(function(collectionName) {
var collection = db.getCollection(collectionName);
collection.find();
});