Node.js 如何删除除一个文档之外的所有文档

Node.js 如何删除除一个文档之外的所有文档,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,我将express与mongodb和mongoose堆栈一起使用,实际上我不知道如何查询数据库 如何删除集合中的所有文档(按条件删除的文档除外) 让我来说明我的意思 我收集了一些文件 [ { id: 1, subDocument: { id: 'a' } }, { id: 2, subDocument: { id: 'b' } }, { id: 3, subDocument: {

我将
express
mongodb
mongoose
堆栈一起使用,实际上我不知道如何查询数据库

如何删除集合中的所有文档(按条件删除的文档除外)

让我来说明我的意思

我收集了一些文件

[
  {
    id: 1,
    subDocument: {
      id: 'a'
    }
  },
  {
    id: 2,
    subDocument: {
      id: 'b'
    }
  },
  {
    id: 3,
    subDocument: {
      id: 'c'
    }
  },
]

这些文档中的每一个都有自己的子文档。我想删除所有不符合子文档标准的文档(第一级)

如果
子文档.id
不等于
'b'
则删除文档

我期待这样的结果

[
  {
    id: 2,
    subDocument: {
      id: 'b'
    }
  },
]
附言。 我在mongoose文档中找不到任何好的例子。你能给我举个例子或者分享一个我能找到这些信息的资源吗

非常感谢

在Mongoose中,您可以使用并通过过滤器作为参数:

Model.remove({ 'subdocument.id': { $ne: 'b' } })