小编fak*_*e97的帖子

按月对记录进行分组并对其进行计数 - Mongoose、nodeJs、mongoDb

我需要在数据库(猫鼬)中查询并获取一种特定产品(一年内)一年中每个月的销售额。

我是节点和 mongoDb 的新手,我提供了一个“虚拟”解决方案,我在数据库中查询并获取一个产品的所有结果,然后我使用 3 个循环在几个月内分割结果,但我认为它使用了更多资源比应有的资源多,如果填充了更多数据,它将使用更多资源,因此我需要帮助进行数据库查询来解决该问题。

这是我的代码的一部分:

假设需要从17-02-202017-02-2019的结果,我知道如果是从1 月12 月,它将毫无意义地进入一个循环,但我还有另一部分代码控制它是否需要 1年份结果例如:01-01-202031-12-2020它不会执行下面的代码,我正在谈论的代码只有一个循环哈哈。

let startTime = performance.now();
Sales.find({productId:req.params.productId, "created_at": { "$gte": oneYearFromNow, "$lte": dateNow}}).then(result => {
        let newMonthsArray= new Array();
        let monthsArray = ['January','February','March','April','May','June','July','August','September','October', 'November','December'];
        let months = {};
        for(let i=parseInt(req.params.startDate.substring(5,7))-1; i<12; i++){
            let year = parseInt(req.params.startDate.substring(0,4))-1;
            let month = parseInt(req.params.startDate.substring(5,7));
            newMonth = monthsArray[i] + '-' + year;
            newMonthsArray.push(newMonth);
            months[newMonth] = 0; 
        }

        for(let i=0; i<parseInt(req.params.startDate.substring(5,7)); i++){
            let year = parseInt(req.params.startDate.substring(0,4)); …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js mongodb-query aggregation-framework

1
推荐指数
1
解决办法
8070
查看次数

在 Vue JS 中将组件作为 prop 传递

简介:我正在探索Vue Js,并在尝试制作动态数据表组件时陷入困境,我面临的问题是我无法通过 props 传递组件并将其呈现在表中。

问题:所以基本上我想做的是从v-data-table中的 headers prop 传递一些自定义组件,例如:

headers = [
    { text: 'Name', value: 'name' },
    {
      text: 'Phone Number',
      value: 'phone_number',
      render: () => (
         <div>
           <p>Custom Render</p>
         </div>
     )
    },
    { text: 'Actions', value: 'actions' }
]
Run Code Online (Sandbox Code Playgroud)

所以从上面的代码我们可以看到我想从Phone Number header中的渲染函数渲染该段落,我之前在React Js中做过这件事,但是如果有人可以指点我,我找不到在Vue Js中做到这一点的方法朝着正确的方向前进会很棒。先感谢您。

vue.js vue-component vuejs2 vuetify.js

1
推荐指数
1
解决办法
5781
查看次数