【发布时间】:2016-04-15 15:37:59
【问题描述】:
假设我有这种数据...
data = [{
"_id" : "1",
"parentId" : "thisPostId",
"topLevelId" : "1",
"text" : "<p>comment</p>",
},
{
"_id" : "2",
"parentId" : "1",
"topLevelId" : "1",
"text" : "<p>reply to comment</p>",
},
{
"_id" : "3",
"parentId" : "2",
"topLevelId" : "1",
"text" : "<p>reply to reply to comment</p>",
},
{
"_id" : "4",
"parentId" : "3",
"topLevelId" : "1",
"text" : "<p>reply to reply to reply to comment</p>",
}]
我需要删除评论及其所有子评论...
如果要删除的评论是_id:1,,那么我需要一个["1","2","3","4"],, 的数组,然后我可以运行Coll.remove({_id:{$in:["1","2","3","4"]}}, callback);
如果要删除的评论是_id:2,那么我需要一个["2","3","4"]数组
如果要删除的评论是_id:3,那么我需要一个["3","4"]数组
如果要删除的评论是_id:4,那么我需要一个["4"]数组
我试过这个(不知道)...
_.forEach(data, function(value, key){
_.pluck(_.where(key, { "parentId" : "2" }), '_id');
});
而且不工作...
任何有关 javascript/lodash/underscore 的帮助将不胜感激,,,
谢谢你...
【问题讨论】:
-
hii @Rajesh 感谢您的回复,,,文本键只是为了更好地理解,,只是忽略......我们应该关注的是
_id和parentId -
这看起来像XY problem,你好像想级联删除一个文档:stackoverflow.com/questions/14348516/…
-
hii @ShanShan 谢谢你的回复,,,我正在用流星做项目,这似乎行不通,因为流星有自己的名为 minimongo 的 mongo 驱动程序,但是谢谢你,,以前不知道猫鼬有这样的功能
-
meteorjs 具有实现相同功能的钩子。您应该发布一个关于您遇到的具体问题的问题,流星用户应该能够提供帮助。
标签: javascript arrays underscore.js lodash