MongoError:未知修饰符:节点js中的$ pushAll [英] MongoError: Unknown modifier: $pushAll in node js
本文介绍了MongoError:未知修饰符:节点js中的$ pushAll的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在使用 mongo错误保存模型失败时出现问题:MongoError:未知修饰符:$ pushAll 。
我有一个我的架构中的数组字段 subDomains
,它将以子域名的形式保存为默认值,如下所示。
I have one array field subDomains
in my schema and which will get saved as default with subdomain as like follows.
// already Domain instance get availble
Domain.subDomains.push({'name': 'default' , 'role': 'xyz', ...});
// save domain with default fileds
Domain.save()
系统信息如下:
➜ ~ node --version
v9.4.0
➜ ~ npm --version
5.6.0
➜ ~
➜ ~ mongo --version
MongoDB shell version v3.6.2
git version: ......
OpenSSL version: OpenSSL 1.0.2n 7 Dec 2017
allocator: system
modules: none
build environment:
distarch: x86_64
target_arch: x86_64
➜ ~
请帮我整理一下。
推荐答案
Mongo 3.6.2(或任何版本)不再支持 $ pushAll
运算符3.6.x +的新版本。
The $pushAll
operator is no longer supported in Mongo 3.6.2 (or any newer versions from 3.6.x+).
您可以执行以下操作:
- 添加
usePushEach:true
选择架构定义。 - 降级到Mongo 3.4.11(或任何3.4.x版本)
- add the
usePushEach: true
option the Schema definition. - downgrade to Mongo 3.4.11(or any 3.4.x version)
这篇关于MongoError:未知修饰符:节点js中的$ pushAll的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文