小编m00*_*aca的帖子

遍历由 MongoDB 聚合查询生成的数组

大家下午好

我在 MongoDB 3.4 中处理聚合查询非常困难。我有一个问题,要求我将聚合查询的结果推送到一个名为的空数组中categories,我可以使用以下代码成功执行该操作:

var categories = [];

    database.collection("item").aggregate([{
        $group : {
            _id : "$category",
             num : {$sum : 1}
         }},
        {$sort:{_id:1}}]).toArray(function(err, data){

            categories.push(...data);
            callback(categories);
            console.log(categories);
        })

    }
Run Code Online (Sandbox Code Playgroud)

categories 看起来像这样:

[ { _id: 'Apparel', num: 6 },
{ _id: 'Books', num: 3 },
{ _id: 'Electronics', num: 3 },
{ _id: 'Kitchen', num: 3 },
{ _id: 'Office', num: 2 },
{ _id: 'Stickers', num: 2 },
{ _id: 'Swag', num: 2 },
{ _id: 'Umbrellas', num: …
Run Code Online (Sandbox Code Playgroud)

javascript mongodb node.js aggregation-framework

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

在使用Redux渲染时为组件分配唯一ID

下午好,星期五快乐,

我最近开始学习如何使用Redux作为管理我的应用程序中的状态的方法,到目前为止我喜欢它,但是我无法动态地将道具分配给父组件的子项.

以下是我正在使用的基本父母与子女情景:

<Layout>
  <Child />
  <Child />
  <Child />
</Layout>
Run Code Online (Sandbox Code Playgroud)

我希望每个孩子都有一个独特的id,所以childProps.id对于第一个孩子来说1,第二个孩子就是这样2,依此类推.

这里首先是assignId我想在渲染组件时触发的函数:

export function assignId(number){
  return{
    type: "ASSIGN",
    payload: number
  }
}
Run Code Online (Sandbox Code Playgroud)

这是reducer监听这个功能:

export default function reducer(state={

            id: 0

        }, action){

      switch (action.type){
        case "ASSIGN": {
          return {...state, id: action.payload}
        }
      }

  return state

}
Run Code Online (Sandbox Code Playgroud)

最后<Child />组件本身:

import React from "react";

import { activeBox, beginSession, unselect, assignId } from '../actions/boxActions'

export default class Child extends React.Component {

  componentWillMount(){
    var …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs redux react-redux

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