【问题标题】:How do I query a document in a MongoDB collection using a key that I don't know the value of? JS如何使用我不知道其值的键查询 MongoDB 集合中的文档? JS
【发布时间】:2021-10-30 01:07:54
【问题描述】:

我想基本上查询集合中的文档然后删除它,但问题是 - 我只知道键,而不知道该键的值。 (我实际上是这样做的,但我正在为我更大的项目进行设置)

我想做什么:

await client.connect();
const db = client.db('testing')
console.log(`Connected to database ${db.databaseName}`)

const collection = db.collection('test1')
const allInCollection = await collection.find().toArray()

await collection.deleteOne({ id })

但由于某种原因,它给了我错误:

ReferenceError: id is not defined

我该怎么做?

P.S 这是我的第一篇 SO 帖子 :)

【问题讨论】:

  • 你要查询的数据有特定的key吗?
  • 我想查询集合以找到一个具有名为“key”的属性的文档,然后将其删除。 “key”的值是什么并不重要。

标签: javascript node.js mongodb nosql


【解决方案1】:

您的查询是

{key:{$exists:true}}

您可以找到所有包含key 键的文档 如果您想删除所有包含 key 且具有任何值的文档 你可以deleteMany

【讨论】:

  • 不起作用:[错误] 发生错误:MongoServerError:BSON 字段 'delete.deletes.q' is missing but a required field
  • 我和 mongo 一起工作,但我看到你用的是 mongoose,所以我用谷歌搜索了 mongoose deleteMany,如果有问题,对不起
  • 我不用mongoose,我用的是普通的MongoDB Driver for JS (mongodb)
  • 你想用 mongodb 驱动更新我的答案吗?
  • 不,我通过这样做修复了它:jsfiddle.net/rt2uzvjn
猜你喜欢
  • 2021-06-29
  • 1970-01-01
  • 2020-11-15
  • 2019-02-22
  • 1970-01-01
  • 2019-11-11
  • 1970-01-01
  • 1970-01-01
  • 2020-11-29
相关资源
最近更新 更多