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

我正在使用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,然后插入所有内容。

https://stackoverflow.com/questions/10520501/

相关文章:

mongodb - 如何在 MongoDB Compass 工具中执行更新($set)查询?

mongodb - 如何为 MongoDB 中的嵌入式文档创建唯一 ID?

c# - 如何将任意 json 对象发布到 webapi

mongodb - 如何在 MongoDB 集合中获取特定的嵌入文档?

javascript - 如何在 Mongoose 中将 _id 设置为 db 文档?

mongodb - 了解MongoDB缓存系统

ruby-on-rails - Mongoid/Mongodb 和查询嵌入文档

mongodb - 使用 mongimport 导入 JSON 文件,不断得到 `unexpecte

node.js - 一个包含 node.js 和 mongodb 的整个网站?

mongodb - 使用 Mongoose、Node.js 和 Underscore 生成代码的简单