我试图遵循这个How to use dot in field name?。但它的结果如同图片。还有一个空间: -
$objPHPExcel = new PHPExcel();
......
$i = 0;
foreach ($arr as $key => $value){
$objPHPExcel->getActiveSheet()->SetCellValue(PHPExcel_Cell::stringFromColumnIndex($i).'1', $key);
$objPHPExcel->getActiveSheet()->SetCellValue(PHPExcel_Cell::stringFromColumnIndex($i+1).'2', $value);
$i++;
}
.....
例外: - 无效的BSON字段名称photographs.inner_fields;嵌套异常是java.lang.IllegalArgumentException:无效的BSON字段名称为photographs.inner_fields。
我如何使用点“。”在字段名称中。我必须使用。因为我正在使用一些第三方api,我没有选择替换像[dot]这样的东西。请建议我?
答案 0 :(得分:6)
在MongoDB中,字段名称不能包含点(。)字符,因为它是点符号语法的一部分,请参阅documentation。
您使用的是哪种第三方API?你确定你需要一个点吗?解析JSON时通常使用点,而您的第三方API不需要它。
答案 1 :(得分:1)
那么,第三方api是否正在构建密钥(其中包含句点),并将其保存到MongoDB中?
我建议您在所述API:s跟踪器中打开错误代码。
如果不是这种情况,请在持久性代码中的某个位置对周期进行编码 - 并在上升过程中对其进行解码。