将数据从 Google Docs 导出到 CSV 文件。
gdocs.csv
创建一个描述 CSV 文件的文件 - CSV 文件中的每个字段一行。gdocsFields.txt
可能看起来像这样:
key
number
将数据导入到临时集合中的 mongo 实例中,例如temp
:
mongoimport --type csv -c temp --fieldFile gdocsFields.txt < gdocs.csv
现在更新您的实时集合,例如live
使用来自 mongo 控制台的查询。看看这个例子,它还为您创建了导入的数据以进行测试。它直接粘贴到mongo
控制台:
db.temp.drop();
db.live.drop();
db.temp.insert({key:'abc', number:111});
db.temp.insert({key:'foo', number:222});
db.temp.insert({key:'xxx', number:333});
db.temp.insert({key:'yyy', number:444});
db.temp.insert({key:'zzz', number:555});
db.live.insert({key:'abc', number:100});
db.live.insert({key:'foo', number:200});
db.live.insert({key:'xxx', number:300});
db.live.insert({key:'yyy', number:400});
db.live.insert({key:'zzz', number:500});
// Update every record
var keys = db.temp.find();
keys.forEach(function(doc){
db.live.update(
{ key:doc.key },
{ $set: {number:doc.number} },
{ upsert: true }
);
print(doc.key);
});
// Print out the live collection
var keys = db.live.find();
keys.forEach(function(doc){
print(doc.key + " is now: " + doc.number);
});
不是最有效的方法,但应该很容易遵循这个过程。