======Comandos basicos - Mongodb====== Búsquedas =====Borrar una tienda para que no replique mas ===== Desde el BMC En la coleccion "**terminal**" busco la terminal "**0 de la tienda**" y el campo **DISABLE** lo paso a **TRUE** En la coleccion "**store**" busco la tienda y en el campo **disable** lo paso a **TRUE** =====Items que tengan este valor en este campo ===== Find.({“nombre del campo”: valor}) =====Items que contengan algún valor (simil like de sql) ===== Find.({“nombre del campo”: /valor/ }) =====Items que en este campo tengan algún valor entre los que indico (1 o 0 en el ejemplo) ===== {{script1_farma.jpg}} =====Interfaz de usuario gráfica, Texto, Aplicación===== Descripción generada automáticamente Find.({nombre del campo: {$in: [valor1, valor2] } }) =====Items que tengan algún valor menor a ===== Find.({nombre del campo: {$lt: valor } }) =====Items que tengan algún valor menor o igual a ===== Find.({nombre del campo: {$lte: valor } }) =====Items que tengan algún valor mayor a ===== Find.({nombre del campo: {$gt: valor } }) =====Items que tengan algún valor mayor o igual a ===== Find.({nombre del campo: {$gte: valor } }) =====Dos opciones del mismo campo ===== db.getCollection('Party').find({code: {$in:["00023456778","00017649929"]}}) =====Items que tengan este valor o este otro ===== }db.getCollection('OrderWorkflowStep').find( {orderWorkflow: {$nin:[ObjectId("5f2c22d3dc0f432bde5384c7"),ObjectId("5f2c2e2bdc0f432bde5384dd"),ObjectId("601d485285626f7873b10ed3")]}}) =====Items que tengan dos valores no excluyentes (como usar and) ===== {{script2_farma.jpg}} Find.({“nombre del campo1”: valor1, “nombre del campo2”: valor2 }) Find.({“nombre del campo1”: valor1, “nombre del campo2”: {>e: valor2 } }) db.getCollection('TerminalState').find({}, {terminal:1}) =====Mostrar todos los artículos que pertenezcan al departamento /MEDICAMENTOS/ ===== db.getCollection('ItemHierarchy').find({"merchandiseHierarchyGroups.name":/MEDICAMENTOS/}) =====Deshabilitar productos en tiendas===== db.Item.updateMany({createdAt : { $gt: ISODate("2022-01-01 00:00:00.000Z")}},{$set: {disabled: "true" }}); =====Obtener ciertos campos de Items y ordenar el resultado por código de artículo (descendente) ===== db.Item.find({},{"_id":1, "internalCode":2,"description":3}).sort({"internalCode":-1}) =====Backup ===== "backup del central": Debe ejecutarse desde la carpeta BIN de mongo desde CMD mongodump --gzip --host=localhost --port=27017 --db "bridgeCentral" --authenticationDatabase="admin" -u="admin" -p="Nosotros123" --out c:/napse/backup/bridgeCentral =====Descarta transacciones de Tiendas que no existen (Tienda 999) ===== db.getCollection('DataReplication').update(     {status:{$ne:'ok'},code:'999'},     {$set: {"status":discard}},     false, true ) Para desactivar terminales En la collection: terminal de la BD de la tienda tenes los campos: disabled y apiTerminalRegistered si queres descativar una terminal para que no le mande mas replicacion tenes que ponerle el disables en true y el otro en false =====Traer Jerarquía ===== db.getCollection('MerchandiseHierarchyGroup').find({},{code:1,description:1,disabled:1,parent:1,level:1}) =====Filtrar transacciones por múltiples condiciones, fechas y solo mostrar ciertos campos ===== db.getCollection('Transaction').find({ "storeCode" : "6510", "businessDayDate" : {$gte : ISODate("2022-12-26 00:00:00.000Z")}, "trxType" : "Sale" }, {terminalCode:1, storeCode:1, trxNumber:1, total:1, cancelFlag:1, businessDayDate:1 }) =====Borrar medio de pago que cumpla con una condición ===== db.Tender.deleteMany( { code: "RAPPI" } ) =====UPdate de un campo Objeto ===== db.Item.updateMany({_id: ObjectId("637ba1d67a152d030402398f")},{$set: {hierarchyGroup: ObjectId("637b96aa7a152d0304022cb7") }}); =====Insertar ===== db.products.insertOne( { item: "card", qty: 15 } ) =====Filtrar por Atributo ===== db.Item .filter({"attributes.code": "dtoreceta", "attributes.option": "25"}) Tienen atributo sin option { filter: { 'attributes.code': { $ne: null }, 'attributes.option': '' }, project: { internalCode: 1, description: 1, attributes: 1 } } =====Consultar solo unos campos / columnas ===== Si quiero hacer una consulta, pero solo quiero traer 2 columnas o mas, se arma asi. db.getCollection('OrderState').find({}, { _id : 1, name :1 }) db.getCollection('OrderWorkflowAction').find({},{ _id : 1, name :1})