【问题描述】
如何通过指定对象ID批量删除多条记录
【解决办法】
1. 当数据量较小时,可以将对象ID存放在数组中,使用匹配符$in来进行批量删除的操作,如:
db.cs.cl.remove({"_id":{$in:[{"$oid":"5d03144a9e860a38f4297a9e"},{"$oid":"5d03144c9e860a38f4297a9f"},{"$oid":"5d03144d9e860a38f4297aa0"}]}});
注:给定的数组是一个BSON对象,BSON最大的容量是16MB。这里没有明确的上限,只要BSON存得下就可以。
2.当数据量较大时,建议使用循环语句进行删除,可以直接写一个js文件,然后执行文件即可:/opt/sequoiadb/bin/sdb -f 'delete.js'
注:可参考附件中的示例
【详情参考】
匹配符$in:http://doc.sequoiadb.com/cn/index-cat_id-1432190907-edition_id-302