都使用了mongodb了,为啥不使用json呢,用xml是什么意思?
我们需要对xml进行解析获取里面的数据。
@杨小剑: 看来是不好解析的数据,那保存到数据库就成为了很简答的问题了,要么直接将文本保存的数据库,要么将文件保存到磁盘,在数据库中保存连接,怎么存都差不多。
@刘宏玺: 还是保存到数据库中比较好吧,但是这里有困难,xml里的节点是动态,表不好设计,所以想到了文档型数据库。但是试了试mongodb,把整个xml放到一个collection里没法查询了,然后把xml解析分解关联关系又不好办了。
@杨小剑: 看来你是想方便解析,那就直接将xml转成json就可以了,不需要模型也是可以保存的数据库的,而且数据关联也是存在的
@刘宏玺: 这样是能放进去,但是查询没法查啊,一个json树下来,各种层级,怎么查?
@杨小剑: 因为你的xml是动态的,所以json就是动态的,你要是想查,那就用js的for in 查呗(其他语言肯定也有类似的语法),递归查询,这有啥难的,你的xml肯定是有一定规律的,不然你保存下来干啥!
@刘宏玺: 几兆或十几兆的xml文档按你这么说每次都整个查询一遍,这样好么?我的想法是把xml分解成多个,放在一个文档里,还要把关联关系对应上,这样就算有个完整的数据模型,以后不管xml怎么变都能方便获取数据。您能明白我的意思吗?
@杨小剑: 我不知道你的xml是什么结构,当然你说的分解我肯定是不明白了,反正现在服务器的效率,处理几十兆的都是很快的,不信你试试!
我这边的xml都达到了500多M的也就一两秒,解析处理+保存数据库的工作就都完成了
如果你觉得有必要分解也是可以的,怎么方便怎么使用呗!
@刘宏玺: 您说的这种xml是直接转换成json存储到mongodb里面吗?那您获取查询数据是怎么做的?
@杨小剑: 我是直接查xml的,没有使用mongodb,我的只是把xml中的数据保存到了oracle中,可能没有你的那么复杂。
你先按照你想的做一下,先实现功能,然后在考虑效率,然后你就会发现世界是多么的美好了!
@刘宏玺: 方便加一下QQ吗?我Q1058383465
@杨小剑: 加了
我们公司的人,搞了一下,直接在.net里定义Model就行,mongo都是json存,这有什么合适不合适的?你的XML文档能有什么数据啊?
几兆或者十几兆吧。存储的话是直接把整个文档插入到mongodb的一个collection里吗?要是分解的话,复杂的xml(层级关系比较多)对应关系怎么办?
肯定适合啊,mongodb这种非关系数据库,每条记录的键都可以不一样的,数据模型就按xml文档的数据结构呗