0

所以在我问这个问题之前,我想说我确实知道 Mongo 不允许在字段名称中使用句点,即点 (.)。

令人惊讶的是,PHP 能够将带有句点的数据作为多维数组中的字段名称插入到 mongo。我使用 PHP 5.4 版 Mongo 驱动程序 1.4。

所以数组结构有点像:

Array(
["field1"] => "value",
["field2"] => "123",
["field3"] => array( ["abc.def"] => array( ["test"] => "value" )
);

我想要实现的是将 field2 值从字符串更改为整数。

它的庞大数据和应用程序取决于它,我需要将类型从字符串更新为整数或从整数更新为字符串,我可以控制将来插入的应用程序但输入的内容无法更改,请给我一些解决方法.

寄予厚望,有人会对此有所了解..!! ;)

4

1 回答 1

2

我能找到的最好的解决方法是使用 db.collection.update(); 虽然我不得不经历一个漫长的 excel 过程并对每一行进行类似的查询,之后我意识到我可以使用 db.collection.find().forEach();

因此,要减少解决方案,请使用 forEach 迭代并执行 db.collection.update(),条件匹配要更新的数据和字段。我将查询格式化为字符串,然后使用 eval();

如果您找到更短的方法,请让我知道.. !!

于 2013-10-21T11:16:35.763 回答