javascript - MongoDB 脚本加载正确,但不工作

标签 javascript json mongodb

我是 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 的不同计算机上对此进行了测试。

抱歉,如果这是一个愚蠢的问题,但我有点迷路了。

最佳答案

事实证明,我从未向刚刚建立的新连接发出命令。傻我。

在执行使用 TPMongo1028257 之后它工作得很好

关于javascript - MongoDB 脚本加载正确,但不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59012452/

相关文章:

javascript - Jquery 在 for 循环之后将 html 元素附加到 div,奇怪的行为

xml - XSLT替换变量中的双引号

python - PyMongo 中使用 server_info() 时出现集合对象不可调用错误

database - 与基于磁盘的 NoSQL 数据库相比,内存数据库的主要性能优势是什么?

javascript - jsPdf autotable 中未捕获的类型错误

javascript - 如何根据动态定义的变量解构对象

javascript - 未声明 JS 命名空间 Netbeans 变量

c# - 如何将对象传递给 HttpClient.PostAsync 并序列化为 JSON 主体?

JAVASCRIPT:如何删除 json 对象中的 json 对象?

java - 将 Java Spring 代码从 AggregationOutput 更改为 DBCollection 聚合方法