mongodb - 使用扩展 JSON 生成新 ObjectId 的 Mongodb 命令
问题描述
我有一个像下面这样的集合
我需要使用扩展 json 将一个新对象推送到“stores”数组中。
如何指示 Mongodb 为属性 _id 创建一个新的 ObjectId ?
我想知道这样的事情:
{
'_id' : { '$oid' : '$<here_some_command_to_generate_new_oid_automatically>' },
'address' : 'my store address',
'contact' : 'John Doe'
}
解决方案
除非我误解了你,如果你只需要使用客户端生成,你可以像任何驱动程序为顶级文档所做的那样做。
在 java 中生成扩展 json 版本,您可以将JsonWriterSettings
输出模式用作JsonMode.Extended
. 就像是
JsonWriterSettings setting = JsonWriterSettings.builder().outputMode(JsonMode.EXTENDED).build();
Document id = new Document("_id", new ObjectId());
String extendedIdJson = id.toJson(setting);// {'_id' : { '$oid' : '507f191e810c19729de860ea' }}
推荐阅读
- python - 尝试在此游戏中切换子弹图案
- javascript - 未捕获的 SyntaxError:意外的标识符 - Webshare api
- powershell - 新对象无法识别
- php - 使用 Apache 安装 PHP 5.6.x 源代码,但出现 openssl 错误,取消引用指向不完整类型的指针
- php - laravel 5.7 spatie/permission 如何处理用户类和角色类之间的关系
- python - Pygame 不解释键盘输入
- c# - 如何将此功能添加到我的按钮?
- c# - 网格不会在 StackPanel 内延伸
- javascript - 添加到模块化窗口的链接
- javascript - laravel/JS typeahead 用于两个不同的输入字段