MongoDB 找号码
MongoDB find number
我正在将 MongoDB 添加到我的 discord 机器人中,我已将其设置为当发生某些事情时它会执行
await ticketSchema.findOneAndUpdate(
{
$inc: {
ticketNumber: 1
}
}
)
一切正常,当我稍后尝试找到它时,它不起作用。无论数字是多少,我都试图找到票号,所以如果它是 16,它将显示 16,如果它是 50,它将显示 50,依此类推。如果我可以将找到的任何票号存储到变量中,那就太好了。
这是我目前必须尝试并发现它不确定该怎么做的东西 lol 我是 mongo 和 js
的新手
let result = ticketSchema.find({
ticketNumber: [42]
})
获取增量的最后一个值有多种方式:
-获取文件总数:(不太推荐)
通过获取文档总数(经过适当的过滤 opened/closed),您将获得最后一次增量的值,因为每次添加文件.
db.collection.count()
-获取最新插入的文档:(推荐)
最后插入的文档将包含您需要的增量值。
有几种方法可以实现:
db.collection.find().skip(db.collection.count())
或
db.collection.find().sort({ticketNumber:-1}).limit(1)
注:为了select特定的字段你可以在查找函数中指定它们。
示例:
db.collection.find({}, { ticketNumber: 1, _id: 0}).sort({ticketNumber:-1}).limit(1)
这可能有帮助:
let result = await ticketSchema.find({ ticketNumber: { $in: [ 42 ] } })
以上是查找 ticketNumber 包含数字 42 的所有文档,假设 ticketNumber 是一个数组字段,这可能是您的代码失败的原因(这就是您在尝试查找数组字段时使用 find 的方式) .
试试这个(我注意到你错过了等待,希望这有帮助:)):
let result = await ticketSchema.find({
ticketNumber: 42
})
不知道能不能听懂你的意思,请问是什么意思
await ticketSchema.findOneAndUpdate(
{
$inc: { ticketNumber: 1 },
}
);
此代码试图将 ticketNumber 字段递增 1,但您没有给它任何过滤器。
findOneAndUpdate(filters, update, options )
为了获取文档然后使用 find():
let value= your Value here;
let result = ticketSchema.find({ticketNumber: value})
我正在将 MongoDB 添加到我的 discord 机器人中,我已将其设置为当发生某些事情时它会执行
await ticketSchema.findOneAndUpdate(
{
$inc: {
ticketNumber: 1
}
}
)
一切正常,当我稍后尝试找到它时,它不起作用。无论数字是多少,我都试图找到票号,所以如果它是 16,它将显示 16,如果它是 50,它将显示 50,依此类推。如果我可以将找到的任何票号存储到变量中,那就太好了。
这是我目前必须尝试并发现它不确定该怎么做的东西 lol 我是 mongo 和 js
的新手 let result = ticketSchema.find({
ticketNumber: [42]
})
获取增量的最后一个值有多种方式:
-获取文件总数:(不太推荐)
通过获取文档总数(经过适当的过滤 opened/closed),您将获得最后一次增量的值,因为每次添加文件.
db.collection.count()
-获取最新插入的文档:(推荐)
最后插入的文档将包含您需要的增量值。
有几种方法可以实现:
db.collection.find().skip(db.collection.count())
或
db.collection.find().sort({ticketNumber:-1}).limit(1)
注:为了select特定的字段你可以在查找函数中指定它们。
示例:
db.collection.find({}, { ticketNumber: 1, _id: 0}).sort({ticketNumber:-1}).limit(1)
这可能有帮助:
let result = await ticketSchema.find({ ticketNumber: { $in: [ 42 ] } })
以上是查找 ticketNumber 包含数字 42 的所有文档,假设 ticketNumber 是一个数组字段,这可能是您的代码失败的原因(这就是您在尝试查找数组字段时使用 find 的方式) .
试试这个(我注意到你错过了等待,希望这有帮助:)):
let result = await ticketSchema.find({
ticketNumber: 42
})
不知道能不能听懂你的意思,请问是什么意思
await ticketSchema.findOneAndUpdate(
{
$inc: { ticketNumber: 1 },
}
);
此代码试图将 ticketNumber 字段递增 1,但您没有给它任何过滤器。
findOneAndUpdate(filters, update, options )
为了获取文档然后使用 find():
let value= your Value here;
let result = ticketSchema.find({ticketNumber: value})