node.js - 如何在猫鼬查询中删除数组中的对象
问题描述
请我是 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);
});
这是一种让一个查询在同一个查询中删除两个带有时间戳的文档的方法snapshotString
吗snapshots
?
谢谢
解决方案
您可以尝试以下方法:
this.testCase.updateOne(
{name: room},
{$pull:
{snapshotString:
{$regex: timestamp}
}
});
注意:我在这里假设,timestamp
是一个字符串,如果不是,那么你应该将它转换为字符串,因为$regex
运算符将只接受字符串。
推荐阅读
- matlab - 压缩感知 - 为什么我的凸求解器在我给它*更多*样本时会失败?
- python - 从数据框的过滤列创建新数据框
- python - Discord.py WELCOMER - 如何为欢迎消息制作自定义图像
- mongodb - 如何从与数组比较的数组字段中查找所有文档
- arrays - 无法解决 KlockWork 缓冲区溢出错误
- react-native - 来自 fetch API 响应的 React Native flatlist
- swift - 存储异构键路径数组
- firebase - 颤动访问文档内firestore中的列表
- node.js - 尝试访问nodejs中的内部字符串
- pandas - 新行是在熊猫数据框中使用 Groupby 的两行的差异