mongodb - 如何使用 mongoose 将文档插入 mongodb 并获取生成的 id?

标签 mongodb mongoose

我正在使用mongoose来操作mongodb。现在,为了测试,我想通过本地连接将一些数据插入到 mongodb 中。

但问题是插入后如何获取生成的id?

我试过了:

var mongoose = require('mongoose');

mongoose.connect('mongo://localhost/shuzu_test');

var conn = mongoose.connection;

var user = {
    a: 'abc'
};

conn.collection('aaa').insert(user);

console.log('User:');
console.log(user);

但它会打印:

{ a: 'abc' }

没有 _id 字段。

最佳答案

您可以自己生成_id并将其发送到数据库。

var ObjectID = require('mongodb').ObjectID;

var user = {
  a: 'abc',
  _id: new ObjectID()
};

conn.collection('aaa').insert(user);

这是我最喜欢的 MongoDB 功能之一。如果您需要创建多个相互链接的对象,则无需在 app 和 db 之间进行多次往返。您可以在应用程序中生成所有 id,然后插入所有内容。

关于mongodb - 如何使用 mongoose 将文档插入 mongodb 并获取生成的 id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10520501/

相关文章:

java - MongoDB 不响应 Java 客户端

MongoDB:如何使用查找查询填充嵌套对象?

javascript - Express/Mongoose - 无法显示数据

javascript - 为什么这些日期从 MongoDb 获取后结果为 'Invalid Dates'?

mongodb - 无法使用 mongodb+srv 将 Mongo shell 连接到 Mongo Atlas M0

mongodb - 为登录用户创建个人收藏

mongodb - 获取具有完全相同 key 的文档

node.js - 使用NodeJS安装后无法识别包 'mongodb'

node.js - Mongoose 查询填充查找元素的匹配 ID

javascript - 关于 mongoose 查询的 tailable cursor 的错误