gpt4 book ai didi

javascript - 无法在 Meteor 中构造 $pop 查询时使用变量

转载 作者:行者123 更新时间:2023-11-30 17:58:31 25 4
gpt4 key购买 nike

我正在尝试在 Meteor 中的嵌入式数组上使用 $pop,我很确定我对变量范围和操作顺序的有限理解导致了我的问题。

为了提供一个简化的例子,这是可行的:

do_thing = function(foo) {
Coll.update(foo, {$pop: { "bar.baz": 1 }} );
};

do_thing( "123" );

但这不是:

do_thing = function(foo, bar) {
var tmp = bar + ".baz"
Coll.update(foo, {$pop: { tmp: 1 }} );
};

do_thing( "123", "bar" );

核心问题是当我硬编码我希望从中弹出项目的数组时更新成功,但是当动态构造该数组时更新失败。我认为原因是不是因为它是一个变量,因为“foo”起作用了,而问题在于“tmp”可能没有及时实例化以进行更新()打电话。

任何人都可以建议我如何实现我正在寻找的结果:从一个字段中弹出一个项目,在我进入函数之前我不一定知道这个项目的名称?

或者,如果我一开始就采取了完全错误的方法,我愿意接受有关如何构建此函数的更广泛的建议。

最佳答案

文字字符串“tmp”用于键名,而不是您为变量“tmp”传递的值。

试试这个:

updateboj = {}
updateobj[tmp] = 1
Coll.update(foo, {$pop: updateobj} );

关于javascript - 无法在 Meteor 中构造 $pop 查询时使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17619326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com