小编And*_*rov的帖子

获取CoreMongooseArray而不是普通数组

我有这个架构:

var orderSchema = new mongoose.Schema({
  history: [{
    "type": {
      type: String,
      enum: [
        'ORDER_HISTORY_DRIVER_DETAILS',
        'ORDER_HISTORY_LOADING',
        'ORDER_HISTORY_LOCATION',
        'ORDER_HISTORY_UNLOADING'
      ],
      required: true
    },
    date: {
      type: Date
    },
    state: {
      type: String,
      enum: [
        'ORDER_HISTORY_STEP_STATE_COMPLETED',
        'ORDER_HISTORY_STEP_STATE_CURRENT',
        'ORDER_HISTORY_STEP_STATE_FUTURE',
      ],
      default: 'ORDER_HISTORY_STEP_STATE_FUTURE',
      required: true
    }
  }]
})
Run Code Online (Sandbox Code Playgroud)

有一次,我需要删除所有类型为“ ORDER_HISTORY_LOCATION”的子文档,因此我正在运行以下代码:

let result = await Order.findOneAndUpdate(
  {orderId: req.params.orderId},
  {
    $pull: {
      history: {type: "ORDER_HISTORY_LOCATION"}
    }
  }, {new: true}
);
Run Code Online (Sandbox Code Playgroud)

当我登录“ result.history”时,我得到了:

CoreMongooseArray [
{ state: 'ORDER_HISTORY_STEP_STATE_CURRENT',
  _id: 5caf8a41641e6717d835483d,
  type: 'ORDER_HISTORY_DRIVER_DETAILS' },
{ state: 'ORDER_HISTORY_STEP_STATE_FUTURE',
  _id: …
Run Code Online (Sandbox Code Playgroud)

database mongoose mongodb nosql node.js

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

如何使用RxJS在Angular 6中创建一系列HTTP请求

我一直在网上寻找解决方案,但找不到适合我的用户情况的任何解决方案。我正在使用MEAN堆栈(角度6),并且有注册表。我正在寻找一种对API执行多个HTTP调用的方法,每个方法都依赖于前一个方法返回的结果。我需要这样的东西:

firstPOSTCallToAPI('url', data).pipe(
    result1 => secondPOSTCallToAPI('url', result1)
    result2 => thirdPOSTCallToAPI('url', result2)
    result3 => fourthPOSTCallToAPI('url', result3)
    ....
).subscribe(
    success => { /* display success msg */ },
    errorData => { /* display error msg */ }
);
Run Code Online (Sandbox Code Playgroud)

我需要使用哪种RxJS运算符组合来实现此目的?一种可能的解决方案是嵌套多个订阅,但是我想避免这种情况,并使用RxJS更好地实现。还需要考虑错误处理...

先谢谢了!

rxjs typescript angular angular-httpclient rxjs6

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