提问人:Game Visit Live 提问时间:6/1/2023 更新时间:6/1/2023 访问量:23
如何从普通对象创建特定对象以在 mongodb $set参数中使用
How to make a specific object from an ordinary object for use in a mongodb $set parameter
问:
如何在 JavaScript 中转换此对象:
let object = {
a: {
b: 12
c: {
d: 13
}
}
}
进入这个:
let object = {"a.b": 12, "a.c.d": 13}
我想在updateOne方法中修改对象并像mongodb中的$set参数一样使用它
答:
0赞
Andrew Parks
6/1/2023
#1
用于遍历每个 [key, value] 对,使用 ,并以递归方式获取对象树的叶子,从而构建数组中每个叶子的路径。找到叶子后,用于将路径数组转换为虚线路径字符串。 用于确保返回 [key, value] 对的平面数组,而不是嵌套数组。最后,我们用来将对列表变成一个数组。Object.entries
flatMap
p
join
flatMap
Object.fromEntries
let data = {
a: {
b: 12,
c: {
d: 13
}
},
e: {
f: {
g: 6
}
}
}
const f = (v, p=[]) => typeof v === 'object' ?
Object.entries(v).flatMap(([k, v]) => f(v, [...p, k])) : [[p.join('.'), v]]
console.log(Object.fromEntries(f(data)))
评论