在 Node JS 中按 ID 问题 findOne

时间:2021-05-09 23:25:04

标签: node.js mongodb aws-documentdb

我有一个很奇怪的问题。

查看下面的代码

const pqr = new ObjectId(smsId);
console.log('pqr', pqr)
docDB.collection(constants.prefix.mongo.COLLECTION_NOTIFICATION)
  .findOne(({ "_id": pqr }, (err, notificationDetails) => {
    console.log('smsId 3', smsId)
    console.log('notificationDetails', notificationDetails) })

下面是输出

pqr 60986d6210a23dcec4b01e99 // see here
smsId 3 60986d6210a23dcec4b01e99
notificationDetails {
  _id: 60986b7e10a23dcec4b01e96, // and here
  highPriority: true,.....

我得到的 _id 与搜索到的不同。

数据库是amazon documentDB。 客户端是 nodejs 客户端。

可能是什么问题?

1 个答案:

答案 0 :(得分:1)

var mongoose = require('mongoose');
const pqr = mongoose.Types.ObjectId(smsId);

试试这个。如果您使用的是 Mongoose 库。

如果你使用的是 Mongodb 库,那么试试这个。

const { ObjectId } = require('mongodb');
const pqr = ObjectId(smsId);