我对mongoDB很新,我正在尝试将对象插入数据库。 (哇,比mySQL更有趣......)我使用的是strongloop的环回框架及其mongoDB连接器。
该对象是我收到的xml2js解析的xml消息,在解析并插入mongo后,它看起来像这样:
{
"_id": ObjectID("55c61ee9391da88435c5753f"),
"offerChange": [
{
"foo": [
"bar"
],
"baz": [
"foo"
]
}
]
}
如您所见,所有键的值都是数组,尽管它们只包含一个值。显然我可以在插入之前或在xml解析期间将它们转换为字符串,但是这需要在所有对象的键上循环或者首先为工作者做更多的工作,这是我想要避免的。真实物体比上面显示的要大得多。
有没有办法告诉mongoDB在创建文档之前或之后自动将只有一个值的数组转换为字符串?
答案 0 :(得分:1)
您无需在应用程序/数据库中循环并从数组转换为字符串。如果只有一个项目,则xml2js提供一种返回字符串的简洁方法,如果有更多项目,则提供数组。
explicitArray(默认值:true):始终将子节点放在数组中 真正;否则只有在有多个数组时才会创建数组。
按如下方式启动解析器
parseString(xml, {explicitArray: false}, function (err, result) {
});