小编Ash*_*shh的帖子

类型错误:callback.apply 不是 allowDiskUse 之后的函数

我有一个包含 100 万个文档的集合......我已经通过了选项allowDiskUse,现在它抛出错误

TypeError: callback.apply is not a function

我已经搜索过这个,但可以得到解决方案...请帮忙

const pictures = await Picture.aggregate([
      { $sort: { createdAt: -1 }},
      { $group: {
        _id: { $dateToString: { format: "%Y-%m-%d", date: "$createdAt" } },
        pictures: {
          $push: {
            _id: '$_id',
            image: '$image',
            time: { $dateToString: { format: "%H:%M:%S", date: "$createdAt" } }
          }
        }
      }},
      { $limit: 50 },
      { $project: {
        _id: false,
        createdAt: '$_id',
        pictures: '$pictures'
      }}
    ], { allowDiskUse: true })
Run Code Online (Sandbox Code Playgroud)

Mongodb 版本 - 3.6 …

mongoose mongodb node.js mongodb-query aggregation-framework

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

猫鼬-仅按日期部分对日期排序,忽略时间

我有以下模型的集合:

const VisitSchema = new mongoose.Schema({
    priority: { type: Number, min: 1, max: 3, required: true },
    datetime: { type: Date, required: true },
    // some other information
});
Run Code Online (Sandbox Code Playgroud)

我正在尝试对所有文档进行排序,以使较接近当前日期的访问在较晚的日期之前显示,但是在一天之内,必须首先显示优先级较高的那些。

例如:考虑

A (17-08-2018 14:00:00, P3)

B (17-08-2018 15:00:00, P2)

C (18-08-2018 15:00:00, P1)

这个排序时,所期望的反应应该是[B, A, C],因为上一天17-08-2018B在具有较高的优先级A,即使A是更早,即使C在两个具有更高的优先级AB,它是在以后的日子。

我正在寻找一种首先进行排序的方法datetime,但仅考虑日期部分并忽略时间,然后再进行排序priority。我目前的尝试datetime完全考虑了问题,给我错误的排序方式:

Visit.find().sort('datetime priority')
Run Code Online (Sandbox Code Playgroud)

编辑:我知道我可以使用来做Array.sort()。问题是直接从进行操作mongoose,而不是检索数据然后才进行排序。

mongoose mongodb node.js aggregation-framework

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

限制 $lookup 聚合中的字段

MongoDB 数据库版本 3.4.18。

我想合并来自外部集合的数据,但我不想拥有所有键,我想做出限制,如下所示:

db.users.find({}, {password:0}, (err, docs) => {});
Run Code Online (Sandbox Code Playgroud)

这是我的聚合查询:

let query = [
  {
    // match from first collection (activities)
    $match: {
      "_id": ObjectId("5be46f266e4a182384b3ae6a")
    }
  },
  {
    // limit fields from first collection (activities)
    $project: {
      "_user": 1,
      date: 1
    }
  },
  {
    // join a foreign collection - but how to avoice the password key? for example.
    $lookup: {
      from: "users",
      localField: "_user",
      foreignField: "_id",
      as: "user"
    }
  }
];
db.activities.aggregate(query, (err, docs) => {
  console.log(docs[0].user);
  return …
Run Code Online (Sandbox Code Playgroud)

mongodb mongodb-query aggregation-framework

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

MongoDB - 嵌套数组中的总和值

我有一个看起来像这样的对象

{
    "_id" : {
        "import_type" : "MANUAL_UPLOAD",
        "supplier" : "jabino.de",
        "unit_price" : "0"
    },
    "statuses" : [ 
        {
            "status" : "DUPLICATED",
            "count" : 14
        }, 
        {
            "status" : "BLACKLISTED",
            "count" : 2
        }, 
        {
            "status" : "USABLE",
            "count" : 2239
        }, 
        {
            "status" : "INVALID_EMAIL_ADDRESS",
            "count" : 1
        }, 
        {
            "status" : "DUPLICATED",
            "count" : 14
        }, 
        {
            "status" : "BLACKLISTED",
            "count" : 2
        }, 
        {
            "status" : "USABLE",
            "count" : 2239
        }, 
        {
            "status" : "INVALID_EMAIL_ADDRESS",
            "count" : …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb mongodb-query aggregation-framework

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

MongoDb - 按数组字段的最高值元素排序

date我有一个包含如下文档的集合,我想根据它们在数组中包含的最高值对文档进行排序status

[{
  "_id": "1",
  "name": "Tea",
  "status": [
    {
      "state": "a",
      "date": "2019-08-22"
    },
    {
      "state": "b",
      "date": "2019-07-12"
    },
  ],
  "_id": "2",
  "name": "Coffee",
  "status": [
    {
      "state": "c",
      "date": "2019-05-01"
    },
    {
      "state": "b",
      "date": "2019-12-31"
    }
  ]
}]
Run Code Online (Sandbox Code Playgroud)

因此,在示例中,用于排序的值应类似于:

  • :最高状态日期2019-08-22 (状态:a)
  • 咖啡:最高状态日期2019-12-31 (状态:b)

有任何想法吗?

arrays sorting mongodb aggregation-framework

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

什么是存储,调度,有效负载,类型,操作,连接,thunk,reducer在react redux?

什么是存储,调度,有效负载,类型,动作,连接,thunk,reducer in react redux ??

import { createStore, applyMiddleware } from 'redux'
import thunk from 'redux-thunk'
const createStoreWithMiddleware = applyMiddleware(thunk)(createStore)
const store = createStoreWithMiddleware(reducer)
ReactDOM.render(
 <MuiThemeProvider muiTheme={muiTheme}>
   <Provider store={store}>
       <Router history={ browserHistory }>
         <Route path="/" component={ Content }/>
         <Route path="/filter" component={ Filter }/>
         <Route path="/details" component={ Details }/>
       </Router>
   </Provider>
 </MuiThemeProvider>,
   document.getElementById('root')
)
Run Code Online (Sandbox Code Playgroud)

reactjs react-redux

-5
推荐指数
1
解决办法
1096
查看次数