我正在将文档插入名为用户的集合中。插入后,我想返回文档ID以便继续使用它。所以我写了这段代码:
this.db.collection("users")
.insertOne({ xy })
.then(ref => {
console.log(ref.insertedId);
});
返回的insertId等于以下内容:
id:Uint8Array(12) [89, 131, 152, 99, 28, 157, 43, 0, 0, 90, 228, 11]
但是我不能真正使用它。我需要一个连续的字符串或数字。
我们将不胜感激:)
答案 0 :(得分:0)
使用MongooseJS:https://mongoosejs.com/
在models/user.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var userSchema = new Schema({
name: String,
email: String,
created_at: { type: Date, default: Date.now },
},{
collection: 'User'
});
var User = module.exports = mongoose.model('User', userSchema);
在您的user.js
中需要此index.js
文件
global.User = require('./models/user');
您的index.js应该是:
global.express = require('express');
global.app = express();
global.bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }))
app.use(bodyParser.json())
global.mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/mydb');
global._=require('underscore');
global.User = require('./models/user');
app.post('/insert',function(req,res){
console.log(req.body);
var user=new User({
name:req.body.name;
email:req.body.email;
});
user.save();
User.find({},function(err,users){
(!err && users){
console.log(users);
var userIDs=_.pluck(users,'_id');
return res.json({
users:userIDs
});
}
})
});
app.listen(3000);
您的前端应为html格式
<form method="post" action="/insert">
<input type="text" name="name" required/>
<input type="email" name="email" required/>
<button type="submit">Submit</button>
</form>