PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 28 → mongoDB
mongoDB
Débuté par rafael tapia, 02 aoû. 2017 15:21 - 4 réponses
Posté le 02 août 2017 - 15:21
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 !
Membre enregistré
794 messages
Popularité : +40 (42 votes)
Posté le 03 août 2017 - 17:52
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 modifié, 03 août 2017 - 17:56
Posté le 05 août 2017 - 02:18
Te agradezco mucho ... me funciono algo que llevo días intentando !
Posté le 08 octobre 2021 - 21:46
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
Membre enregistré
794 messages
Popularité : +40 (42 votes)
Posté le 10 octobre 2021 - 15:12
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