node.js - 为什么我不能使用node.js将对象插入到mongodb中?

标签 node.js mongodb

    var express = require('express');
    var routes = require('./routes');
    var socket = require('socket.io');
    var fs = require('fs');
    var app = module.exports = express.createServer();
    var Server = require('mongodb').Server,
        Db = require('mongodb').Db,
        Connection = require('mongodb').Connection;
    var host = 'localhost';
    var port = Connection.DEFAULT_PORT;
    var db = new Db('node-mongo-examples', new Server(host, port, {}), {native_parser:false});

    db.open(function(err, db) {
        console.log('opened');   
        app.listen(3000); 

    });


    db.collection('locations', function(err, collection) {
          var object= {word:'TEST'};
          collection.insert(object, {safe:true}, function(err, result) {
            var array = collection.findOne({word:'TEST'}, function(err, item) {});            
             console.log(array);// <----always  "undefined" 
          });        
    });

我尝试将对象插入数据库。每次使用“console.log(array)”,我发现它总是“未定义”。是无法插入数据库还是无法从数据库中找到。怎么解决呢??

但是,“console.log(item)”显示“null”。那么它是否成功插入数据库,或者我应该改变另一种方式从数据库获取对象。

最佳答案

collection.findOne 是异步的,因此您不使用该函数的返回值;相反,您应该从(当前为空)回调内部 console.log(item)

 db.collection('locations', function(err, collection) {
     var object= {word:'TEST'};
     collection.insert(object, {safe:true}, function(err, result) {
       collection.findOne({word:'TEST'}, function(err, item) {
          console.log(item);
       });
     });        
 });

关于node.js - 为什么我不能使用node.js将对象插入到mongodb中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11945353/

相关文章:

node.js - 在 Vue 2 应用程序中快速提供静态文件

javascript - 从 Node 路由中的json访问数组中的对象值

javascript - JS : Error Handling in Async Await Case confusion

performance - MongoDB 索引定义策略

javascript - 通过对 MongoDB 中数据的 API 调用为组件设置 props

node.js - React Router 的目的是什么?

node.js - GraphQL 的 SOAP 转换

javascript - 如何防止 "MongoError: Transaction 1 has been committed."?

mongodb - 如何使用 mgo 和 Go 查询具有日期范围的 MongoDB?

java - Spring Boot Mongo Upsert 数组中的元素