PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 25 → mongoDB
mongoDB
Started by rafael tapia, Aug., 02 2017 3:21 PM - 4 replies
Posted on August, 02 2017 - 3:21 PM
Instale un manejador de datos MONGODB en un servidor remoto...
el ejemplo de la version 22 winDev dice:


gclConnection is a MongoConnection dynamic
gclBase is a MongoDatabase dynamic
gclSet is a MongoCollection dynamic
gclGridFS is a MongoGridFS


El codigo del boton que hace la coneccion con MONGODB:
// Connection to the MongoDB server on the example database (creates the database if it does not exist)
gclConnection = MongoCreate(StringBuild("mongodb://%1:%2/%3",EDT_ServerAddress,EDT_Port,BASE_WINDEV_EXAMPLE))
// Retrieves objects for accessing the database
gclBase = gclConnection.Database[BASE_WINDEV_EXAMPLE]


donde: EDT_ServerAddress es la direccion IP del servidor que contiene MONGODB
EDT_Port es 27017 (default)
BASE_WINDEV_EXAMPLE es el nombre de la base de datos

La base de datos que he creado tiene Usuario y Password y no tengo idea incluirlo , alguien me puede ayudar con la sintaxis
Alguien ha empezado a trabajar en este tema ?
Alguien ha podido conectarse a MONGODB a travez de winDev ?

Gracias !
Registered member
496 messages
Posted on August, 03 2017 - 5:52 PM
Hola. Esa parte no depende de WX. Debes utilizar la cadena de conexion en MongoCreate con el formato:

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

Echale un vistazo a los posibles parametros en:

https://docs.mongodb.com/manual/reference/connection-string/

He estado probando la implementación que han hecho para WX y debo decir que es basyante satisfactoria. El unico punto que he tenido que indagar mas es el caso de la creación de indices por código, pero gracias al comando MongoExecuteCommand puedes ejecutar comandos no implementados como función de WX.


Rubén
Message modified, August, 03 2017 - 5:56 PM
Posted on August, 05 2017 - 2:18 AM
Te agradezco mucho ... me funciono algo que llevo días intentando !
Posted on October, 08 2021 - 9:46 PM
rafael Tapia a écrit :
> Te agradezco mucho ... me funciono algo que llevo días intentando !

Hola como estas..

Soy nuevo en Windev y necesito usar MongoDB para un proyecto pero me falla hacer la consult a mongo y que solo me traiga ciertos campos, es decir yo ejecuto esto en en Shell de mongo y funciona
db.inventory.find ({type: 'food'}, {item: 1, qty: 1})

Pero desde Windev no , solo funciona el comando Find:
MongoFind(gclSet,"{type: 'food}") pero si le adiciono el Json de seleccionar campos en la consulta ya no funciona
Les agradezco la ayuda
Registered member
496 messages
Posted on October, 10 2021 - 3:12 PM
Hola. Echale un vistazo a https://doc.windev.com/en-US/…

En MongoFind debes pasar las opciones de busqueda MongoFindOption https://doc.windev.com/en-US/… (la traducción no es muy buena usa la version francesa para los ejemplos https://doc.windev.com/en-US/…)

Sort Variant, Buffer or Character string Document in JSON format (Character string), in BSON format (buffer) or variant defining the sort parameters.
To get an ascending sort, the name of the key must be followed by ":1".
To get a descending sort, the name of the key must be followed by ":-1".

Ejemplo

Option is mongoFindOption// Sort according to the age
Option..Sort = "{ ""age"": -1 }"

sFilter is string = "{}"
let MyResult = MongoFind(CntMdb..Database["CRM"]..Collection["Actors"], sFilter, Option)


Rubén