MongoDB如何在查询中引用对象的属性

科布丰

我试图在将要设置的MongoDB上运行脚本teacher_ids[] = [document.owner_id]owner_id在集合中的所有对象上已经存在。我当前的尝试如下所示:

db.getCollection('readings').update({ $where: "this.teacher_ids[0] != this.owner_id" }, { $set: { "teacher_ids": [this.owner_id] }}, { multi: true })

一切都差不多,除了文档看起来像

doc: {
    owner_id: "some_id",
    teacher_ids: [undefined]
}

这必须表示this在的第二个参数中update未引用该文档。如何设置它:

teacher_ids = [document.owner_id]

范例文件

{
    "_id" : ObjectId("586f07bd6a2169fdffb0563b"),
    "teacher_ids" : [],
    "owner_id" : "57c268dd6c9fd2320035e67e",
    "source" : "http://www.omfgdogs.com",
    "title" : "Test",
    "updatedAt" : ISODate("2017-01-28T07:43:46.597Z"),
    "createdAt" : ISODate("2017-01-06T02:58:05.699Z")
}
拉胡尔·库马尔(Rahul Kumar)

我认为在更新组件中您无法通过此方法或其他方式引用任何其他字段值。

虽然可以通过脚本来完成

db.getCollection('readings').find({ $where: "this.teacher_ids[0] != this.owner_id" }).forEach(function(x){x.teacher_ids = [x.owner_id]; db.readings.save(x)});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在MongoDB MapReduce JavaScript查询中的对象数组中引用对象的每个属性?

如何在mongoDB查询中从对象返回单个属性?

如何在mongodb中查询嵌套对象

如何在 JavaScript 中的嵌套对象中引用对象属性

如何在mongodb中按引用字段查询?

如何在Powershell Active Directory cmdlet中引用对象的属性?

如何在VBA中动态引用对象属性

如何在mongoDB中查询存储在数组中的对象

如何在数组中按属性查询嵌套对象?

如何在模型属性中查询相同模型的对象

如何在MongoDB中查询对象的值而不是键值对

如何在mongodb中查询嵌套的json对象?

如何在mongodb中查询对象的嵌套数组?

如何在mongodb中查询3级嵌套对象

JPA-如果AccessType为“属性”,如何在查询中引用属性?

如何在查询中获取查询对象?

如何在 Rails ActiveRecord 查询中引用不同属性的值

根据引用对象中来自manytomanyfield的属性获取查询集

如何在MySQL中查询具有对象数组属性的对象?

如何在猫鼬中通过查询引用对象获取数据

如何在Jinja2模板中访问引用对象的属性(Google App Engine)

如何在ggplot中引用管道对象?

如何在 XPath 中引用父对象?

如何在事件块中引用“this”对象?

如何在NSMutableSets中引用对象

引用对象如何在Java中工作

如何在反序列化的MongoDB文档中获取对父对象的引用?

如何在同一Javascript对象中的另一个属性的值中引用一个属性?

如何通过 mongoose 中的引用对象属性检索对象