簡體   English   中英

MongoDB 腳本正確加載,但不起作用

[英]MongoDB Script loads correctly, but doesn't work

我是 MongoDB 新手,我創建了以下 JS 文件:

db=connection.getDB("TPMongo1028257");
var inversiones=[{
            categoria:"Accion",
            fdc:new Date(2019,07,05,0,0),
            iin: NumberDecimal ("5214.365"),
            cantidad:5,
            precioac: NumberDecimal ("9005.3659"),
            asesor:{
                nombre:"Carlos Solange",
                sitM:"Suba de las acciones",
                recom:"Comprar mas acciones",
},
            operacion:[{
                cat:"Accion",
                fdo:new Date(2019,10,15,0,0),
                importe: NumberDecimal ("9055.3659"),
                tipo:"Compra",
                asesor: "Carlos Solange"
            },
            {
                cat:"Accion",
                fdo:new Date(2019,11,05,0,0),
                importe: NumberDecimal ("9189.1789"),
                tipo:"Compra",
                asesor:"Carlos Solange"
}],                  
},
{
            categoria:"Bono",
            fdc:new Date(2018,12,17,0,0),
            iin: NumberDecimal ("9862.473"),
            cantidad:29,
            precioac: NumberDecimal ("9861.968"),
            asesor:{
                nombre:"Julio Rofri",
                sitM:"Se espera una gran baja en el precio de los bonos",
                recom:"Vender bonos"
            },
            operacion:{
                cat: "Bono",
                fdo:new Date(2019,01,20,0,0),
                importe: NumberDecimal ("9195.0254"),
                tipo:"Venta",
                asesor: "Julio Rofri"
            },

},
{
            categoria:"Bono",
            fdc:new Date(2018,10,9,0,0),
            iin: NumberDecimal ("11036.0365"),
            cantidad:15,
            precioac: NumberDecimal ("10975.368"),
            asesor:{
                nombre:"Javier Dandy",
                sitM:"Se espera una gran baja en el precio de los bonos",
                recom:"Vender bonos"
            },
            operacion:{
                cat:"Bono",
                fdo:new Date(2018,12,10,0,0),
                importe: NumberDecimal ("9521.9994"),
                tipo:"Vender",
                asesor: "Javier Dandy"
            },
},
{
            categoria:"Bono",
            fdc:new Date(2017,12,23,0,0),
            iin: NumberDecimal ("15000.8756"),
            cantidad:20,
            precioac: NumberDecimal ("14895.275"),
            asesor:{
                nombre:"Julio Rofri",
                sitM:"Se espera una gran baja en el precio de los bonos",
                recom:"Vender bonos"
            },
            operacion:{
                cat:"Bono",
                fdo:new Date(2018,03,17,0,0),
                importe: NumberDecimal ("1311.0224"),
                tipo:"Vender",
                asesor: "Julio Rofri"
            },
},
{
            categoria:"Accion",
            fdc:new Date(2019,05,04,0,0),
            iin: NumberDecimal ("6523.789"),
            cantidad:7,
            precioac: NumberDecimal ("7823.6890"),
            asesor:{
                nombre:"Carlos Solange",
                sitM:"Suba de las acciones",
                recom:"Comprar mas acciones"
            },
            operacion:{
                cat:"Accion",
                fdo:new Date(2019,07,5,0,0),
                importe: NumberDecimal ("7825.6899"),
                tipo:"Compra",
                asesor: "Carlos Solange"
            },  
},
{
            categoria:"Accion",
            fdc:new Date(2018,10,21,0,0),
            iin: NumberDecimal ("20658.3689"),
            cantidad:29,
            precioac: NumberDecimal ("25875.4412"),
            asesor:{
                nombre:"Carlos Solange",
                sitM:"Suba de las acciones",
                recom:"Comprar mas acciones"
            },
            operacion:{
                cat:"Accion",
                fdo:new Date(2019,01,15,0,0),
                importe: NumberDecimal ("25995.0254"),
                tipo:"Compra",
                asesor: "Carlos Solange"
            },
},
{
            fdc:new Date(2019,04,03,0,0),
            iin: NumberDecimal("7569.214"),
            cantidad:13,
            precioac: NumberDecimal ("7789.5609"),
            asesor:{
                nombre:"Maria Walmart",
                sitM:"Inestabilidad",
                recom:"Comprar con cautela",
},
            operacion:{
                cat:"Letra",
                fdo:new Date(2019,10,5,0,0),
                importe: NumberDecimal ("8225.1233"),
                tipo:"Compra",
                asesor: "Maria Walmart"
            },  
},
{
            fdc:new Date(2018,07,10,0,0),
            iin: NumberDecimal("10699.994"),
            cantidad:16,
            precioac: NumberDecimal ("11257.214"),
            asesor:{
                nombre:"Mariano Martins",
                sitM:"Inestabilidad",
                recom:"Comprar con cautela",
},
            operacion:{
                cat:"Letra",
                fdo:new Date(2018,12,22,0,0),
                importe: NumberDecimal ("9225.0323"),
                tipo:"Compra",
                asesor: "Mariano Martins"
            },  
},
{
            fdc:new Date(2018,01,18,0,0),
            iin: NumberDecimal("16377.005"),
            cantidad:25,
            precioac: NumberDecimal ("18789.636"),
            asesor:{
                nombre:"Mariano Martins",
                sitM:"Inestabilidad",
                recom:"Comprar con cautela",
},
            operacion:{
                cat:"Letra",
                fdo:new Date(2018,11,20,0,0),
                importe: NumberDecimal ("1025.1023"),
                tipo:"Compra",
                asesor: "Mariano Martins"
            },  
},];
db.inversores.insert(inversiones);


//Inversion con mayor cantidad de operaciones

db.inversores.aggregate({$unwind:"$operacion"},{$group:{_id:'$_id',count:{$sum:1}}},{$sort: {count :-1}})

//Inversion que tuvo mayor ganancia un mes desues de una fecha determinada

db.inversores.aggregate({$project:{_id:1,total:{$subtract : ["$precioac","$iin"]}}}, {$sort: {total : -1}})

//Asesor con mas recomendaciones

db.inversores.aggregate({$unwind:"$operacion"},{$group:{ _id:'$asesor',count:{$sum:1}}},{$sort: {count :-1}})

//Asesor con mas recomendaciones para una inversion determinada

//Esta consulta funciona, pero dado a que no estan creadas las ObjectId de las colecciones, si no se comenta no se puede levantar el script. Nuestra recomendacion es hacer un db.inversores.find() y probar la consulta con cualquier ObjectID de las Inversiones disponibles. Disculpe las molestias

//En el campo de $match, donde esta la condicion _id: ObjectId(), se inserta el ObjectId que quiera probar

//db.inversores.aggregate({$match: {_id: ObjectId("5d9cc9da8c5f451ee46433bc")}},{$unwind:"$operacion"},{$group:{ _id:'$asesor',count:{$sum:1}}},{$sort: {count :-1}});


當我加載它時,它似乎工作正常,因為它返回“true”並在我執行 db.getCollectionNames() 時顯示我的集合。 但是,如果我執行 db.[INSERT_DB_NAME].find(),則不會返回任何內容。 我在運行 Ubuntu 18.04 的 2 台不同的計算機上對此進行了測試。

對不起,如果這是一個愚蠢的問題,但我有點迷茫。

事實證明,我從未向我剛剛建立的新連接發出命令。 傻我。

use TPMongo1028257它工作得很好

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM