Javascript MongoDB错误:无法创建属性'_id';在线上
我在Heroku上使用Node.js和Express以及MongoDB插件。 我的数据库连接工作正常,我可以成功地将一些数据推入,但不能将其他数据推入 以下是数据库连接:Javascript MongoDB错误:无法创建属性'_id';在线上,javascript,json,mongodb,insert,Javascript,Json,Mongodb,Insert,我在Heroku上使用Node.js和Express以及MongoDB插件。 我的数据库连接工作正常,我可以成功地将一些数据推入,但不能将其他数据推入 以下是数据库连接: mongodb.MongoClient.connect(mongoURI, function (err, database) { if (err) { console.log(err); process.exit(1); } // Save database object from the callback
mongodb.MongoClient.connect(mongoURI, function (err, database) {
if (err) {
console.log(err);
process.exit(1);
}
// Save database object from the callback for reuse.
db = database;
console.log("Database connection ready");
// Initialize the app.
var server = app.listen(process.env.PORT || dbport, function () {
var port = server.address().port;
console.log("App now running on port", port);
});
});
我可以像这样成功地将我的Twitter API响应推送到数据库中:
db.collection(TWEETS_COLLECTION).insert(data);
('data'只是一个JSON变量)
但是当我尝试用相同的方法将另一个JSON变量推入数据库时,我得到了一个错误。代码:
var jsonHash = '{"hashtag":"","popularity":1}';
var objHash = JSON.parse(jsonHash);
objHash.hashtag = req.body.hashtag;
JSON.stringify(objHash);
collection(HASHTAG_COLLECTION).insert(jsonHash);
错误是:
TypeError:无法在字符串“{”hashtag:“myhash”,“popularity”:1}”上创建属性“\u id”
在集合中。插入许多。。。
知道我做错了什么吗?
jsonHash
仍然是一个字符串。可能您想保存objHash
而不保存JSON.stringify
?我不知道从哪里获得jsonHash
变量,但我认为您在这里做的是不必要的JSON处理。您还插入了错误的变量,您希望插入的objHash
是要插入的有效对象,现在您正在插入的jsonHash
只是一个字符串<代码>JSON.stringify(objHash)代码>没有执行任何操作,因为您没有保存从函数返回的JSON。我想你想要这样的东西
var objHash = {
hashtag: "",
popularity:1
};
objHash.hashtag = req.body.hashtag;
collection(HASHTAG_COLLECTION).insert(objHash);
谢谢你!这起作用了。我想我不需要任何JSON处理。