【问题标题】:query data undefined in node.js mongodb在node.js mongodb中查询未定义的数据
【发布时间】:2021-11-02 14:51:51
【问题描述】:

我正在尝试从数据库中获取数据,但新更新 result.ops 在 mongoDB 3.0 版中不起作用,它可以使用修复此代码的新方法,因为在控制台中我变得未定义

const mongodb = require('mongodb');
const MongoClient = mongodb.MongoClient

const connecetionURL = 'mongodb://127.0.0.1:27017'  
const databaseName = 'task-manager'

MongoClient.connect(connecetionURL, { useNewUrlParser: true }, (error, client) => {
    if(error){
        return console.log('Unable to connect to database!')
    }
    const db = client.db(databaseName)

     db.collection('users').insertOne({
         name: 'vano',
         age: 12
     }, (error, result) => {
         if(error){
             return console.log('Unable to insert user!')
         }

         console.log(result.ops)
     })
})

我应该进入控制台 { name: "vano", age: 12} 类似这样的东西,但我越来越不确定

这是 3.0 文档,但我现在正在用 4.0 编写 https://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#~insertOneWriteOpResult

【问题讨论】:

  • 你能登录result吗?
  • @mohammadNaimi 是的,并记录类似这样的内容 { 承认:true,insertedId:new ObjectId("6133d4264da50b5bc95d4e36") }
  • 当你在 mongodb 中插入时它可以返回像你记录的对象
  • @mohammadNaimi 是的,但我想记录我在 3.0 中插入的数据,你可以这样做,但为什么他们删除了该选项
  • 因为我认为它不重要,你知道你在插入什么 :) 如果 mongo 返回整个对象,大对象中的另一件事将花费网络和更多的处理成本

标签: javascript node.js mongodb mongoose mongodb-query


【解决方案1】:
use db.collection("exmaple")
      .findOneAndUpdate(
        { _id: "-1" },
        { $set: {
         name: 'vano',
         age: 12
        } },
        { returnOriginal: true ,upsert:true}
      )

使用findOneAndUpdateupsert:true 如果不存在则插入 并使用returnOriginal: true 返回插入的数据 只是在 finn 查询中写一个查询在任何时候都不匹配,例如 { _id: "-1" }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    • 2012-10-24
    • 2011-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多