如何在猫鼬查询中删除数组中的对象

时间:2020-05-12 21:52:50

标签: node.js mongodb mongoose

请问我是mongo db的新用户,我想从列表中删除一项,我尝试了几次审批,但没有用。

{

name: 'ABCDE',

snapshotString: [
        '{"timestamp":1589316266621,"testObject":{}, "moreAttributes" : "XXXXX"}',
        '{"timestamp":1589316279337,"testObject":{}, "moreAttributes" : "XXXXX"}'
],
snapshots: [
   1589316266621,
    1589316279337
]
}

对于给定的时间戳,我想删除snapshotString,我这样做是:

this.testCase.updateOne(
                {name:room, "snapshotString.timestamp": timestamp}, 
                { $pull: { "snapshotString.timestamp": timestamp } }, { safe: true }, 
                function(err, obj) {
                    console.log(" ***** err ***** "+err);
        });

这是一种让一个查询删除同一查询中snapshotStringsnapshots中带有时间戳的两个文档的方法吗?

谢谢

1 个答案:

答案 0 :(得分:1)

您可以尝试以下操作:

        if (fairRations(B, out int result)) {
            textWriter.WriteLine(result);
        } else {
            textWriter.WriteLine("NO");
        }

注意:在这里,我假设this.testCase.updateOne( {name: room}, {$pull: {snapshotString: {$regex: timestamp} } }); 是一个字符串,如果不是,则应将其转换为字符串,因为timestamp运算符将只接受字符串。 / p>