我无法让这 3 个软件包一起安装和工作。以下是我采取的步骤:
Error: Cannot find module 'mongodb/bson'
at Function._resolveFilename (module.js:334:11)
at Function._load (module.js:279:25)
at Module.require (module.js:357:17)
at require (module.js:368:17)
at Object.<anonymous> (/local/mnt/apps/node-v0.6.3/app.js:6:16)
at Module._compile (module.js:432:26)
at Object..js (module.js:450:10)
at Module.load (module.js:351:31)
at Function._load (module.js:310:12)
at Array.0 (module.js:470:10)
bson.js 出现在我的这个目录下:/opt/node/node_modules/mongodb/lib/mongodb/bson
我已经尝试调整这行代码以匹配它,但仍然没有成功:
var mongoose = require('mongoose').Mongoose,
ObjectID = require('mongodb/bson').ObjectID;
知道我可能做错了什么吗?为了澄清一下,我是否需要构建我下载的每个 npm install 或者 npm 是否这样做?
蒂亚!
最佳答案
mongodb\bson
不是模块,你从哪里得到这个例子?
node.js中mongo的正常使用是通过以下方式实现的:
var mongoose = require('mongoose');
var mongodb = require('mongodb');
现在你可以通过连接
mongoose.connect("url");
在尝试检索
ObjectID
函数时,您不应该依赖 mongodb
,而应该通过以下方式依赖 mongoose
:var schema = mongoose.Schema,
objectId = schema.ObjectId;
请阅读 Mongoose documentation 。