如何在MongoDB中手动添加引用
How do I manually add a reference in MongoDB?
我在开发过程中使用node.js web前端访问MongoDB文档。
我现在得到了以下文件:
{
"_id": ObjectID("500abe6a25dff13c7c000001")
, "username": "kyogron"
, "email": "kyogron@example.de"
, "contacts": [ObjectID("500abe6a2543213c7c000002")] // this should contain other user's id
}
现在,在前端实现该功能之前,我想手动将另一个user_id添加到contacts数组中。
正如你在上面看到的,我已经使用ObjectID关键字尝试过了,但没有成功。。。
这在MongoDB shell中对我有效,我使用$addToSet
而不是$push
,因为我认为你想避免欺骗:
var o = new ObjectId();
db.foo.update({}, {$addToSet : {"contacts" : o}});
var o = new ObjectId();
db.foo.update({}, {$addToSet : {"contacts" : o}});
这给了我一个看起来像这样的文档(我的foo集合只包含你的样本,所以我不必有特定的匹配标准):
{
"_id" : ObjectId("500c2118c78bb07bfbb69eb3"),
"contacts" : [
ObjectId("500c20efc78bb07bfbb69eb2"),
ObjectId("500c227ac78bb07bfbb69eb6")
],
"email" : "kyogron@example.de",
"username" : "kyogron"
}
在mongo shell中运行以下更新:
db.collection.update({"_id" : ObjectId("500abe6a25dff13c7c000001")},
{$push:{"contacts": ObjectId("500abe6a2543213c7c000002")}})
为您的特定案例使用适当的ObjectId值。
相关文章:
- JavaScript addEventListener添加对当前对象的引用
- JavaScript在添加侦听器时丢失引用
- 添加引用现有命名空间的 XHTML 元素
- 未捕获的引用错误:添加网络代码时未定义 $
- 将ng2图表添加到Typescript/ Angular 2项目引用路径和.js文件的路径不正确
- 未捕获的引用错误:添加未在javascript代码中定义
- 存储对追加动态添加的元素的引用
- 基于使用的ASP MVC EditorFor/Partial模板添加JavaScript引用
- 如何在MongoDB中手动添加引用
- Javascript'添加到数组中的s对象是通过值或引用传递的
- Dynamics CRM 2015:如何获得我创建的Web资源按钮,以引用我添加到表单中的Javascript库中的函数
- 如何向对象添加函数并引用其成员
- 编译到 javascript 是否排除了 dart 添加弱引用
- 在 Typescript(角度)中添加对$state的引用和对$rootScope$stateParams的引用
- 在 Javascript 对象的某个属性中添加对 Javascript 对象的引用是一种不好的做法吗?
- 如何在 Meteor 中添加与自动表单的关系或引用
- 在添加之前检查是否存在 css 引用链接
- 引用变量,它执行函数,但是向变量中添加字符串,将函数作为字符串而不是值返回
- breezejs:向实体类型添加引用约束
- 在ItemFileWriteStore中添加引用为_reference的新项