Есть ли естественный способ сопоставить хеш или XML-файл с документом Mongo? - PullRequest
0 голосов
/ 23 сентября 2011

Есть ли способ получить хеш данных (или, что еще лучше, XML-документ), который может быть отображен прямо на монго-документИтак, этот хэш:

@hash = {
   "doc_id"       => 3928,
   "header"       =>[
       {"merchantId"=>["35701"], 
        "merchantName" =>["Lingerie.com"], 
        "createdOn"    =>["2011-09-23/00:33:35"]}
    ], 
   "trailer"      =>[
       {"numberOfProducts"=>["0"]}
    ]
}

станет:

> db.doc.first()
{
  _id : ObjectId("4e77bb3b8a3e000000004f7a"),
  doc_id : 3928
  header : [{
      merchantId : "35701", 
      merchantName : Lingerie.com 
  }],
  trailer : [{
    numberOfProducts : 0 
  }]
}

Ответы [ 2 ]

0 голосов
/ 01 ноября 2012

Непонятно, что вы пытаетесь сделать, поэтому я предполагаю, что вы хотите импортировать данные XML в Монго.

Я импортировал файлы XML в Монго.Сначала я преобразовываю xml-файлы в объекты json , используя этот инструмент командной строки, который я написал, xml-to-json .Затем я использую mongoimport для импорта данных в mongo.

Ознакомьтесь с документацией xml-to-json, включая пример input vs.выход .

0 голосов
/ 23 сентября 2011

Вы можете преобразовать хеш в json с помощью to_json:

require 'json'

@hash.to_json

получает вас (с форматированием):

{
  "doc_id":3928,
  "header":[{
    "merchantId":["35701"],
    "merchantName":["Lingerie.com"],
    "createdOn":["2011-09-23/00:33:35"]
  }],
  "trailer":[{
    "numberOfProducts":["0"]
  }]
}

Оттуда должен быть только короткий прыжок к Бсону и Монго.

Edit:

Хорошо, я только что прочитал учебник здесь: http://api.mongodb.org/ruby/current/file.TUTORIAL.html

и похоже, что вы можете просто вставить туда хеш, а драйвер mongodb позаботится об этом Может я не понимаю вопроса?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...