MongoDB中/流星:添加唯一ID到每一个数组元素 [英] MongoDB/Meteor: Add unique ID to every array element
本文介绍了MongoDB中/流星:添加唯一ID到每一个数组元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我怎么能一个唯一的ID添加到这个结构的每个数组元素?元素的数量是可变的,所以我需要一个动态的解决方案。
{
_id:wLXDvjDvbsxzfxabR,
组:
{
头衔:标题1
数据:
{
注:TEXT
}
]
},
{
头衔:标题2
数据:
{
注1:文本
},
{
注2:文本
},
{
注3:文本
}
]
}
]
}
的ID应被添加到所有组元素和所有数据元素。结果应该是这样的:
{
_id:wLXDvjDvbsxzfxabR,
组:
{
ID:dfDFSfdsFDSfdsFws
头衔:标题1
数据:
{
ID:efBDEWVvfdvsvsdvs
注:TEXT
}
]
},
{
ID:fdsfsFDSFdsfFdsFd
头衔:标题2
数据:
{
ID:WVvfsvVFSDWVDSVsv
注1:文本
},
{
ID:qqdWSdksFVfSVSSCD
注2:文本
},
{
ID:MZgsdgtscdvdsRsds
注3:文本
}
]
}
]
}
解决方案
这应该在对象中迭代
函数generateId(){
//你必须写自己
}功能ADDID(OBJ){
如果(Object.prototype.toString.call(OBJ).indexOf('阵')> = 0){
obj.forEach(函数(项目){
item.id = item.id || generateId();
ADDID(项目);
});
}
否则,如果(typeof运算OBJ =='对象'){
Object.keys(OBJ).forEach(功能(键){
ADDID(OBJ [关键]);
});
}
}
使用
ADDID(yourObject);
How can I add a unique ID to every array element in this structure? The number of elements are variable, so I need a dynamic solution.
{
"_id" : "wLXDvjDvbsxzfxabR",
"group" : [
{
"title" : "title 1",
"data" : [
{
"note" : "text"
}
]
},
{
"title" : "title 2",
"data" : [
{
"note 1" : "text"
},
{
"note 2" : "text"
},
{
"note 3" : "text"
}
]
}
]
}
The ID should be added to all group-elements and all data element. The result should look like:
{
"_id" : "wLXDvjDvbsxzfxabR",
"group" : [
{
"id" : "dfDFSfdsFDSfdsFws",
"title" : "title 1",
"data" : [
{
"id" : "efBDEWVvfdvsvsdvs",
"note" : "text"
}
]
},
{
"id" : "fdsfsFDSFdsfFdsFd",
"title" : "title 2",
"data" : [
{
"id" : "WVvfsvVFSDWVDSVsv",
"note 1" : "text"
},
{
"id" : "qqdWSdksFVfSVSSCD",
"note 2" : "text"
},
{
"id" : "MZgsdgtscdvdsRsds",
"note 3" : "text"
}
]
}
]
}
解决方案
This should iterate through the object
function generateId() {
// you'll have to write this yourself
}
function addId(obj) {
if (Object.prototype.toString.call(obj).indexOf('Array') >= 0) {
obj.forEach(function(item) {
item.id = item.id || generateId();
addId(item);
});
}
else if (typeof obj == 'object') {
Object.keys(obj).forEach(function(key) {
addId(obj[key]);
});
}
}
usage
addId(yourObject);
这篇关于MongoDB中/流星:添加唯一ID到每一个数组元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文