После того, как я успешно реализовал извлечение документов с моего локального сервера mongo, я начал пытаться наоборот, отправляя данные, хранящиеся в сетке данных (DG), на сервер, поэтому я создал карту с:
- DG (DG_02) с двумя столбцами, _id и Nombre, поле (E),
- скрипт с обработчиком mouseup,
тот:
put the dgData of DG_02 into pArray2
puts the 5th element of pArray2,into pArray,
(Я просто хочу попробовать это только с одним элементом на данный момент)
sets pForceRootType,pPretty parameters for the MergJSON function
вызвать функцию ArrayToJSON
put tJSON in fiel "E" to see what the function is returning
Создайте строку для использования с командой оболочки
put the result in rmongo to see the server answer
Весь сценарий
on mouseUp
local dbText
put the dgData of grp "DG_02" into pArray2
put pArray2[5] into pArray <-- Only the 5th element of the array
put "string" into tipo
put "false" into bonito
put ArrayToJSON(pArray, tipo, bonito) into tJSON
put tJSON into fld "E"
put "db.nueva.insert("& tJSON & ");" into dbText
put shell("C:\mongodb\bin\mongo.exe --eval" && "'" & dbText & "'" ) into rmongo
put rmongo
end mouseUp
Вот мои наблюдения при выполнении скрипта, изменяющего параметр pForceRootType для функции:
Когда типо установлен в поле объекта "E", получает: {"Nombre":"Sofia","_id":1012}
Когда для типо установлено значение String, поле "E" получает: {"Nombre":"Sofia","_id":"001012"}
В обоих случаях (типо = строка или типо = объект) rmongo покажите это в сообщении:
MongoDB shell version: 2.2.7
connecting to: test
db.nueva.insert({Nombre:Sofia,_id:001012});
Документ не вставлен.
При попытке вставки непосредственно в оболочке я вижу, что для успешной вставки строковые значения должны быть заключены в кавычки, но (если я не ошибаюсь в своих наблюдениях) JSON, возвращаемый функцией, не заключает в кавычки строки .
Я буду признателен за ваше руководство, заранее спасибо, Хавьер.