如何在没有Express的情况下通过Mongoose与MongoDB进行交互?

时间:2014-10-08 19:30:01

标签: node.js mongodb express mongoose

我喜欢这样一个环境,我可以很好地掌握CRUD操作的工作原理。到目前为止,我一直在使用views来查看数据的外观,但显而易见,这种方法并不具有洞察力 - 它就像开车一样黑暗。

现在我希望能够通过Mongoose提供的功能处理MongoDB中的数据,这样我就可以看到当我这样做时,实际上发生了什么,子文档,群体,那种东西。最初,我将此代码放在script.js文件中:

var mongoose = require('mongoose');
// ...
// define schemas
// try some crazy things
// ...
console.log(results);

然后我尝试执行该代码:

node script.js

哪个不起作用。然后我尝试了:

mongo load('script.js')

这一次,我收到了一个错误,当然 - require()没有定义。捂脸。

希望这可以让您了解我想要做的事情。我尝试过其他似乎没有效果的方法。

请告知。

更新

这是我的script.js文件:

var Hero = require('./hero-model');
// This hero-model.js file defines the schema
// and exports its functionality. I've used
// this model to successfully CRUD data
// via Express. You can ignore the code above
// where I stated require('mongoose') because I was
// merely simplifying. Running this script causes
// the command to terminate silently.

var getHeroes = function() {

    Hero.find(function(err, heroes) {
        if (err) {
            console.log(err);
        }
        console.log(heroes);
    });
};

getHeroes();

1 个答案:

答案 0 :(得分:0)

您正在尝试将节点脚本作为mongo shell脚本运行。要将其作为常规节点脚本运行,只需使用:

node script.js