下面的代码片段从 POST 请求插入一个 JSON 对象。问题是它还为字符串 ObjectId 加上每个唯一键的前缀。为了更清楚地了解,请查看预期和当前输出。
module.exports.addMethod = function (db, req) {
var body = "";
req.on('data', function (chunk) {
body += chunk;
});
req.on('end', function () {
var jsonBody = JSON.parse(body);
db.collection("someCollection").insert(jsonBody, function(err,data) {
if(err){
console.log("cannot addd shit");
}// error handling
console.log("added your stuff");
});
})// req.on ends here
}// addMethod ends here
预期输出:
当前输出:
我想删除以每个唯一 ID 为前缀的 ObjectId。我尝试过对其进行字符串化
,但没有用。
注意:我没有使用expressjs
,因此我的假设是我不能使用body-parser
。我不想使用expressjs。
最佳答案
Mongodb会自动生成'_id'仅当您在插入文档时未指定 _id
字段的值时,才会使用此字段。因此,您只需在插入文档时手动设置_id
即可:
jsonBody._id = "123"; // for example
db.collection("someCollection").insert(jsonBody, function(err,data) {
关于node.js - 在 Mongodb 中插入不带 ObjectId 的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34991237/