当前位置: 首页 > 知识库问答 >
问题:

蒙戈德b。如何将文档从一个数组移动到另一个数组?[副本]

咸育
2023-03-14
_id:ObjectId(5ce3c94f0e259e7370966c63)
status:Int32(1)
title:String(dfsb)
content:String(fdbfdbfd)
Array(visits):[
]
Array(visits_online):[
    0:Object
        start:Date(2019-05-22T08:06:50.222+00:00)
        _id:ObjectId(5ce5031ae8ee2e83b9ab23ff)
        session_id:ObjectId(5ce3c94f0e259e7370966c63)
        user_id:ObjectId(5ce4f290e2971cc6791e5a11)
        end:Date(2019-05-22T08:06:51.438+00:00)
    1:Object
        start:Date(2019-05-22T08:07:11.512+00:00)
        _id:ObjectId(5ce5032fe8ee2e83b9ab2403)
        session_id:ObjectId(5ce3c94f0e259e7370966c63)
        user_id:ObjectId(5ce4f290e2971cc6791e5a11)
        end:Date(2019-05-22T08:07:11.791+00:00)
]
_id:ObjectId(5ce3c94f0e259e7370966c63)
status:Int32(1)
title:String(dfsb)
content:String(fdbfdbfd)
Array(visits):[
        0:Object
        start:Date(2019-05-22T08:06:50.222+00:00)
        _id:ObjectId(5ce5031ae8ee2e83b9ab23ff)
        session_id:ObjectId(5ce3c94f0e259e7370966c63)
        user_id:ObjectId(5ce4f290e2971cc6791e5a11)
        end:Date(2019-05-22T08:06:51.438+00:00)
]
Array(visits_online):[
    1:Object
        start:Date(2019-05-22T08:07:11.512+00:00)
        _id:ObjectId(5ce5032fe8ee2e83b9ab2403)
        session_id:ObjectId(5ce3c94f0e259e7370966c63)
        user_id:ObjectId(5ce4f290e2971cc6791e5a11)
        end:Date(2019-05-22T08:07:11.791+00:00)
]
Session.update({ _id: '5ce3c94f0e259e7370966c63', 'visits_online._id': mongoose.Types.ObjectId('5ce5031ae8ee2e83b9ab23ff') },
        {
            $pull: { 'visits_online._id': mongoose.Types.ObjectId('5ce5031ae8ee2e83b9ab23ff') },
            $push: { visits: mongoose.Types.ObjectId('5ce5031ae8ee2e83b9ab23ff') },
        })

共有1个答案

陆展
2023-03-14

您的mongo查询中有一个小错误,您需要告诉mongo从哪个数组中提取对象。

此外,您需要传递objectid而不是string,以便与更新查询中的_id匹配。

当前将其作为_id:'5ce3c94f0e259e7370966c63'传递,但应为_id:_id:mongoose.types.objectid('5ce3c94f0e259e7370966c63')

Session.update({ 
    _id: mongoose.Types.ObjectId('5ce3c94f0e259e7370966c63'), 
    'visits_online._id': mongoose.Types.ObjectId('5ce5031ae8ee2e83b9ab23ff') 
},{
    $pull: { visits_online :  { _id: mongoose.Types.ObjectId('5ce5031ae8ee2e83b9ab23ff') }},
    $push: { visits: mongoose.Types.ObjectId('5ce5031ae8ee2e83b9ab23ff') },
})
 类似资料:
  • 问题内容: 我很难弄清楚如何移动数组元素。例如,给出以下内容: 我为什么能写入移动功能之前? 还是之后? 移动后,应更新其余元素的索引。这意味着在第一个示例中,移动后arr [0] =’a’,arr [1] =’d’arr [2] =’b’,arr [3] =’c’,arr [4] = ‘e’ 这似乎应该很简单,但是我无法将其包裹住。 问题答案: 如果您想在npm上使用一个版本,则array-mo

  • 问题内容: 我想将多个值从一个servlet传递到另一个servlet。请告诉我如何通过? 问题答案: 取决于您是否使用会话: 使用session.setAttribute()将数组存储在会话变量中。 使用session.getAttribute();检索数组。 但是,变量将一直保留到会话终止,您用其他东西覆盖它或将其删除为止。 如果将一个servlet转发到另一个servlet,则可以将其存储在

  • 有一种方法可以将特定的数字从一个数组复制到另一个数组吗? 例如: 我有一个数组 ,我想将奇数和偶数复制到不同的数组中。因此,结果应该是

  • 我正试图将数据复制到数组中,但出现了一个错误,称无法转换类型。我该怎么解决这个问题?

  • 问题内容: 在不修改数组a地址的情况下,将数据从数组b复制到数组a的最快方法是什么。我需要这样做,因为外部库(PyFFTW)使用了指向无法更改的数组的指针。 例如: 是否可以不循环地进行? 问题答案: 我相信 将快速制作出深层副本。正如Funsi所提到的,最新版本的numpy也具有该功能。

  • 我试图将数据复制到公里数组中,但我有一个错误,说不能转换类型。我如何修复这个问题?