使mongoDB用stringreplace单值数组

我是非常新的mongoDB,并试图插入一个对象到数据库。 (哇,比mySQL更有趣…)。 我正在使用strongloop的loopback框架和它的mongoDB连接器。

该对象是我接收到的xml2jsparsing的xml消息,parsing并插入到mongo后,它看起来像这样:

{ "_id": ObjectID("55c61ee9391da88435c5753f"), "offerChange": [ { "foo": [ "bar" ], "baz": [ "foo" ] } ] } 

正如你所看到的,所有键的值都是数组,尽pipe它们都只包含一个值。 很明显,我可以在插入或xmlparsing之前将它们转换为string,但是这将需要循环遍历所有对象的键或为工作者做更多的工作,这是我想避免的。 真实的物体比上面显示的要大得多。

有没有办法告诉mongoDB在文档创build之前或之后自动将只有一个值的数组转换为string?

您不需要在应用程序/数据库中循环并将数组转换为string。 xml2js提供了一个简单的方法来返回string,如果只有一个项目和数组,如果有更多的项目。

explicitArray(默认值:true):如果为true,则始终将子节点放在数组中; 否则只有在有多个数组时才创build数组。

启动你的分析器如下

 parseString(xml, {explicitArray: false}, function (err, result) { });