Javascript monk发现返回的异常json

Javascript monk发现返回的异常json,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,所以在node中我有一段代码,这段代码非常简单……但它不起作用 var collection = db.get('fisforfriends'); var db = monk('localholst:27017/fisforfriends'); ... var userName = req.body.username; 以上内容适用于插入。只是给你们看=) 打印我在底部的大量文本 该元素在数据库中不存在,但我的添加元素的功能在前几天起作用,所以我不担心这一点。如果它不存在,函数会添加它 我只有

所以在node中我有一段代码,这段代码非常简单……但它不起作用

var collection = db.get('fisforfriends');
var db = monk('localholst:27017/fisforfriends');
...
var userName = req.body.username;
以上内容适用于插入。只是给你们看=)

打印我在底部的大量文本

该元素在数据库中不存在,但我的添加元素的功能在前几天起作用,所以我不担心这一点。如果它不存在,函数会添加它

我只有一个console.log调用,它正在打印所有这些内容。我希望它能打印“假”之类的东西

9 Dec 22:54:27 - [nodemon] starting `node app.js`
Express server listening on port 3000
GET / 200 319ms - 427b
GET /stylesheets/style.css 304 4ms
{ col:
   { manager:
      { driver: [Object],
        collections: [Object],
        options: [Object],
        _events: {} },
     driver:
      { emitter: [Object],
        state: 0,
        _dbconn: [Object],
        db: null,
        username: '',
        password: undefined,
        admin: [Object],
        _collections: [Object],
        bson_serializer: [Object],
        ObjectID: [Object] },
     name: 'fisforfriends',
     col:
      { emitter: [Object],
        state: 0,
        options: undefined,
        skinDb: [Object],
        ObjectID: [Object],
        collectionName: 'fisforfriends',
        collection: null,
        internalHint: null,
        hint: [Getter/Setter] },
     options: {} },
  type: 'find',
  completed: false,
  opts: { username: 'fa', fields: {}, safe: true },
  _events:
   { error: { [Function: g] listener: [Function] },
     success: { [Function: g] listener: [Function] } },
  fulfill: [Function],
  query: {} }
9 Dec 22:54:45 - [nodemon] restarting due to changes...
9 Dec 22:54:45 - [nodemon] C:\Users\hassan\Documents\Hassans_Bravery\fisforfrien
ds\routes\index.js

正如我在上面所建议的,这不是来自数据库的对象,而是在对象完成执行后返回对象的承诺

数据库调用几乎都是异步的,尤其是在node.js是事件驱动的情况下。这意味着这需要时间,但是您的
console.log
会立即执行。结果不会在那里

如果我看一下文档,第二个参数是您传入的回调函数,它将从查询中检索对象

所以你可以

users.find({}).on('success', function (doc) { /* doc is the result available here */ });


well看起来像是对meLook的承诺,其给定的
所有执行异步操作的方法都会返回一个承诺。
users.find({}).on('success', function (doc) { /* doc is the result available here */ });
users.find({}, function (err, docs){ /* doc is the result available here */ });