0

在我的查找功能中。参数“item”始终为 Null。我想知道插入或查找我的代码是否有问题。我该怎么解决??

    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});
    var id ;


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

    });

    db.collection('locations', function(err, collection) {
         var object= ({'word':'TEST'},{'word':'HELL'},{'img':'terr'});
         collection.insert(object,  function(err, result) {
            console.log(result);
            id = object._id;
            collection.find({'word':'TEST'}).toArray(function(err, items){

                    console.log('item' +items);// <-- The item is always NULL
            });  


        });
     });

然后我将我的代码更改为....

但它仍然有关于“无法调用null的方法集合”的错误。

    db.open(function(err, db) {
            db.collection('locations', function(err, collection) {
                var object= ({'word':'TEST'},{'word':'HELL'},{'img':'terr'});
            collection.insert(object,  function(err, result) {
                console.log(result);
                id = object._id;
                collection.find({'word':'TEST'}).toArray(function(err, items){
                    if(err)
                        console.log(err);
                    else
                        console.log('item' +items);
                });  


                });
        });
        app.listen(3000); 

    });
4

1 回答 1

0

这一行:

var object= ({'word':'TEST'},{'word':'HELL'},{'img':'terr'});

使用console.log(object);并准确查看您要插入 MongoDB 的内容。这段代码相当于

var object = {'img':'terr'};

这就是为什么你总是得到null- 你不插入你正在寻找的文档。

如果要传递多个文档,请使用数组

var object= [{'word':'TEST'},{'word':'HELL'},{'img':'terr'}];
于 2012-08-16T06:09:31.133 回答