在 Node.js Mongoose 中,我想更新每个字段……我该怎么做?
Posted
技术标签:
【中文标题】在 Node.js Mongoose 中,我想更新每个字段……我该怎么做?【英文标题】:In Node.js Mongoose, I want to update each field...how can I do that? 【发布时间】:2011-08-14 02:12:42 【问题描述】:User.find(,function(err,docs)
foreach(docs as d)
d.name="apple";
d.save();
;
);
这行不通!我收到一些“唯一标识符”错误。谁能帮我解决这个问题?
【问题讨论】:
对mongoose一无所知,今天才看到一个Node的演示,也许给你所有的文档命名为“apple”是不对的?您可以在 foreach 之前执行d.name="apple"+(i++);
并定义 var i=0
吗?或者你在说search.cpan.org/dist/Mongoose/lib/Mongoose/Intro.pod#_id
【参考方案1】:
d
有唯一的索引集吗?如果是这样,您将无法为多个实例设置相同的内容。
【讨论】:
【参考方案2】:我认为您错误地使用了 foreach。尝试用以下内容替换回调的内容:
docs.forEach(function(elem, index, array)
elem.name = "apple";
elem.save();
);
查看 MDC 了解有关 foreach 的更多信息。
【讨论】:
你不是说forEach吗? JS 中的案例很重要 :) 你是对的,不错的收获!答案是 wiki 风格,所以你也可以随时修复这样的小错误。以上是关于在 Node.js Mongoose 中,我想更新每个字段……我该怎么做?的主要内容,如果未能解决你的问题,请参考以下文章
Mongoose - 更新数组中的每个子文档(node.js)
在 Mongoose (mongodb node.js) 中,如何更新现有值并插入缺失值,而不删除未指定的值?