我在保存模型失败时遇到问题mongo 错误:MongoError:未知修饰符:$pushAll.
我有一个数组字段subDomains
在我的架构中,它将使用子域保存为默认值,如下所示。
// 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
➜ ~
请帮我解决这个问题。
The $pushAll
Mongo 3.6.2(或 3.6.x+ 的任何更新版本)不再支持运算符。
您可以执行以下操作:
-
add the usePushEach: true选项架构定义 https://medium.com/@stefanledin/how-to-solve-the-unknown-modifier-pushall-error-in-mongoose-d631489f85c0 as in:
new mongoose.Schema({
username: String
}, {
usePushEach: true
});
-
降级到 Mongo 3.4.11(或任何 3.4.x 版本)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)