带有消息'' \\ 0'的MongoException钥匙不允许

时间:2014-10-15 09:12:20

标签: c# php mongodb

我在尝试通过基于PHP的API从C#app记录请求时遇到此错误。

PHP Fatal error:  Uncaught exception 'MongoException' 
with message ''\\0' not allowed in key: \\0...'

谷歌搜索了一段时间后,我得出结论,我可以通过迭代来解决它 我试图在Mongo中插入的数组,并在键和值中替换null终止符。

我想知道是否有更优雅的解决方案,Mongo无法处理这种情况?

我的mongo.allow_empty_keys文件中的php.ini也设置为1。

1 个答案:

答案 0 :(得分:1)

我无法为您提供更优雅的PHP解决方案,但这导致问题的原因是因为BSON,因此MongoDB使用空终止字符串,数组等。因此嵌入空值是总的来说会造成混乱。最终会处理这些事情(例如参见SERVER-1177),但即使它们仍然存在,我仍然建议不要使用空值,如果可以避免的话 - 它很容易想象边缘情况和可能的错误这样做的时候。