我们在网络应用中使用以下软件赞...
PHP 5.6版(Ubuntu 14 LTS)
因此,在将MongoDB版本从2.6更新到3.4后,某些API已关闭。(坐标搜索)
所以我们发现需要从mongodb网站升级php驱动程序! (参考链接:http://php.net/manual/en/mongodb.installation.php)
- 在以下文件中进行了必要的更改
-php.ini(/etc/php5/cli/php.ini) -phpini(/etc/php5/apache2/php.ini) -mongo.ini(/etc/php5/mods-available/mongo.ini)
此更改只有一行:extension = mongo.so TO extension = mongodb.so
但是仍然出现以下错误.. [Mon Jan 23 16:38:58.714244 2017] [:error] [pid 5612] [client 127.0.0.1:60816] PHP致命错误:/ var / www中未捕获的异常'ReflectionException',消息'Class MongoException不存在' /projectfolder/vendor/laravel/framework/src/Illuminate/Exception/Handler.php:310\nStack trace:\ n#0
任何人都可以提供帮助吗?
提前致谢
答案 0 :(得分:1)
1]使用以下MongoQuery
创建索引db.user.createIndex( { "location" : "2dsphere" } )
2]确保使用以下命令
应用或不使用索引db.user.ensureIndex( { "location" : "2dsphere" } )
3]检查MongoDB控制台中的Mongo查询。它正在运行
db.user.find(
{"location" : {
"$nearSphere": {
"$geometry": {
"type": "Point", "coordinates": [72.513723 , 23.041388]
},
"$maxDistance": 8000,
"$uniqueDocs": 1
}
}
})
经过两天的投资,我得到了这个解决方案,通过谷歌搜索和MongoDB上的不同步骤解决了这个错误
答案 1 :(得分:0)
请将您的mongo课程添加到app.php
。就像在我的文件中一样,我添加了这样的内容。
'Jenssegers\Mongodb\MongodbServiceProvider',
以上是我的app类。你必须添加你的库类。
第二个原因是,您是否在代码中使用db而不是DB?任何地方。 如果您已按照上述步骤操作,则在cmd中运行以下命令:
composer update, then composer dump-autoload
如果您需要任何帮助,请告诉我。我在Laravel 4.2中有同样的错误,我通过这个步骤解决了。