如果一个对象的所有键都是空的,我想用undefined替换它们。例如
$(document).on('click','#btninsertrequest',function(){
alert("yes");
});
应该是:
{
a: 1,
b: {
c: 2,
d: {
e: undefined,
f: undefined,
}
},
g: {
h: undefined,
i: undefined,
}
}
保持未定义的值非常重要,因为它是从mongodb中删除de key
答案 0 :(得分:2)
首先,我们可以定义一个函数来删除所有undefined
值以满足您的要求
function removeUndefinedObject(obj) {
var isAllUndefined = true;
for (var k in obj) {
if (typeof obj[k] === 'object') {
obj[k] = removeUndefinedObject(obj[k]);
}
if (typeof obj[k] !== 'undefined')
isAllUndefined = false;
}
if (isAllUndefined)
obj = undefined;
return obj;
}
然后在mongodb集合中使用此功能
var cursor = db.collection.find({}); // get all documents from collection
cursor.forEach(function(doc) {
// remove undefined value for each document
removeUndefinedObject(doc);
// save this changed doc into this collection
db.collection.update({_id: doc._id}, doc);
});