0
我有兩個我想合併的集合。 MapReduce的感覺有點大材小用所以我想是這樣的:在沒有mapReduce的情況下合併mongodb中的兩個集合...?
// setup
use testdb
db.users.remove();
db.profiles.remove();
db.users.save({email: "[email protected]", a: "a"});
db.profiles.save({email: "[email protected]", b: "b"});
// merge it
db.users.find().forEach(
function(user) {
print("updating user " + user.email);
db.profiles.find({email: user.email}).forEach(function(profile) {
for(field in profile) {
if(profile.hasOwnProperty(field) && !(field in user)) {
db.users.update({_id: user._id}, { $set : { field : profile[field] } });
}
}
});
}
);
db.users.find().pretty();
當然,這是因爲「場」破不評價,但只是JSON字段名。我想做更新而不是保存。我吮吸js,所以我的問題只是:我如何評估字段名稱,以便我可以在$ set需要的json對象中使用它?