1

我使用的是 Mongoose 4.x,一切都很好。很快我将它更新到 Mongoose 5.0.1,我开始收到这个错误

/Users/me/ExampleCode/example-backend/example-backend-admin/example-backend-admin-places/node_modules/mongoose/lib/utils.js:417
    throw err;
    ^
MongoError: unknown string alias for $type: 2dsphere
at Function.MongoError.create (/Users/me/ExampleCode/example-backend/example-backend-admin/example-backend-admin-places/node_modules/mongodb-core/lib/error.js:45:10)
at /Users/me/ExampleCode/example-backend/example-backend-admin/example-backend-admin-places/node_modules/mongodb/lib/db.js:1103:54
at /Users/me/ExampleCode/example-backend/example-backend-admin/example-backend-admin-places/node_modules/mongodb-core/lib/connection/pool.js:541:18
at process._tickCallback (internal/process/next_tick.js:150:11)

Process finished with exit code 1

我很长一段时间都没有接触过架构,唯一的变化是更新猫鼬,所以我确定问题出在哪里。

这是猫鼬模式中的相关部分

    geometry: {type: String, trim: true, index: {unique: false, name: 'geometry', partialFilterExpression: {geometry: {$type: '2dsphere'}}}},

我淹死了....救救我....

4

1 回答 1

0

参考 MongoDB 的文档 -部分索引字段$type是指BSON 类型它们存在于 Mongo 中,也不是你自己的类型,所以我的意思是你需要更改类似的查询

partialFilterExpression: {geometry: {$eq: '2dsphere'}}

我不确定它以前是如何工作的

于 2018-01-25T21:21:46.343 回答