我正在尝试在mongodb中保存json结构,但是我希望在循环遍历此函数时获得每个项目具有的递归深度(DEPTH
)。如何重复使用以下功能?:
_.mixin({
importJsonItemsToMongo: function (obj, opt, iterator) {
function recurse (json_item) {
// console.log(`level ${DEPTH}: ${json_item.name}`);
db.collection('json_import_items').insert(json_item);
_.each(json_item.child_items, _.importJsonItemsToMongo);
};
recurse(obj);
}
});
_.each(jsonResponse.child_items, _.importJsonItemsToMongo);
答案 0 :(得分:1)
我不知道underscore.js是如何工作的,但我想,可以这样做:
find
我刚刚添加了深度参数;并删除了未使用的参数,如果需要,可以将其添加回来。
答案 1 :(得分:0)
尝试关闭深度。
_.mixin({
importJsonItemsToMongo: function(DEPTH) {
return function (obj, opt, iterator) {
function recurse (json_item) {
// console.log(`level ${DEPTH}: ${json_item.name}`);
db.collection('json_import_items').insert(json_item);
_.each(json_item.child_items, _.importJsonItemsToMongo(DEPTH + 1));
};
recurse(obj);
};
}
});
_.each(jsonResponse.child_items, _.importJsonItemsToMongo(0));