Mongo :: Error :: OperationFailure未知的修饰符:$ pushAll在更新模型(蒙太奇,角度,轨道)时

问题描述 投票:1回答:1

我在前端使用angular-8,在后端使用Rails(5.2)和Mongoid(6.1)。

我有一个模型Event的多层嵌套形式,它接受Ticket的nested_nested_attributes_for,然后接受Channel的nested_nested_attributes_for。

[每当我尝试更新任何事件并将新的Channel添加到具有事件的任何Ticket中时。我收到此错误:

Mongo :: Error :: OperationFailure(未知修饰符:$ pushAll。期望有效的更新修饰符或指定为数组的管道样式更新(9):]

我查了一下,发现here,现在已弃用$ pushAll支持,我们必须单击Turn on UsePushEach by default

但是我不知道我应该在Rails中的默认设置下在哪里配置此UsePushEach

任何帮助将不胜感激。谢谢!

ruby-on-rails angular mongodb ruby-on-rails-5 mongoid
1个回答
0
投票

[请注意,您指的是Mongoose的Github问题,它是节点ODM,并且您试图将其设置应用于Rails。它们是完全不同的,它们的问题和解决方案互不适用。

在Mongoid中,pushAll自Mongoid 6.3起被删除(请参阅MONGOID-4499)。您看到此错误是因为您使用的是旧版本的Mongoid。

升级到最新的Mongoid(当前为7.0)应消除此错误。

© www.soinside.com 2019 - 2024. All rights reserved.