如何使用原子查询更新猫鼬中另一个子文档中的一个子文档?

Biplav

我的猫鼬模式如下所示:

var MousePos = Schema({
    x: { type: Number},
    y: { type: Number},
    clickCount: {type: Number, default:0}
});

var MouseTrackInfo = Schema({
    pos:{ type: [MousePos], default:[]},
    element: {type: String, index:true},
    clickCount:{ type: Number, default: 0 },
    timeSpent: { type: Number, default: 0 }
});

var MouseTrackSchema = Schema({
    pageUrl: { type: String},
    applicationId: { type: String, index: true },
    mouseTrackLog: { type: [MouseTrackInfo], default:[]},
    urlId: {type: String, index: true}
});

现在,我要执行的操作是在指定元素x和y值时更新pos子文档中的clickCount。

我尝试了多种方法,但似乎没有任何效果。此外,我也不能在查询中使用两个$运算符。欢迎提出建议。我想使此查询尽可能原子。

Biplav

我无法找出一种可靠的方法,因此我将架构更改为以下内容:

var MouseTrackInfo = Schema({
    element: {type: String, index:true},
    clickCount:{ type: Number, default: 0 },
    timeSpent: { type: Number, default: 0 },
    x: { type: Number, default:0},
    y: { type: Number, default: 0},
    identifier: {type: String}
});

var MouseTrackSchema = Schema({
    pageUrl: { type: String},
    applicationId: { type: String, index: true },
    mouseTrackLog: { type: [MouseTrackInfo], default:[]},
    urlId: {type: String, index: true}
});

MouseTrackSchema.methods.incrementClickCount = function(element,pageX,pageY,cb) {
    var parent = this;
    this.model('MouseTrackModel').update(
        {
            'applicationId':this.applicationId, 
            'urlId':this.urlId, 
            'mouseTrackLog.identifier': element+"X"+pageX+"Y"+pageY
        },
        {
            '$inc':{'mouseTrackLog.$.clickCount':1}
        },
        {
            'new': true
        },
        cb);
}

这使我可以执行原子查询。任何其他解决方案都欢迎。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用原子查询更新猫鼬中另一个子文档中的一个子文档?

来自分类Dev

在另一个子文档数组中的猫鼬增量子文档数组值

来自分类Dev

从另一个子文档填充猫鼬的子文档,其中两个子文档都是主文档的一部分

来自分类Dev

如何在猫鼬中仅获得一个子文档中的一项?

来自分类Dev

猫鼬子文档中另一个无效模式错误

来自分类Dev

Mongo:如何将另一个子文档插入现有文档

来自分类Dev

如何用猫鼬中另一个集合的文档填充文档的字段时查询文档?

来自分类Dev

VBA EXCEL:如何在另一个子例程中调用一个子例程?

来自分类Dev

如何检查一个子查询是否是Oracle SQL中另一个子查询的子集?

来自分类Dev

使用useReducer调度一个子组件中的操作并更新另一个子组件中的状态

来自分类Dev

猫鼬子文档插入到另一个集合中,同时在父架构中保持关系

来自分类Dev

猫鼬在子对象中创建一个子对象

来自分类Dev

匹配,更新并返回数组中的最后一个子文档

来自分类Dev

如何使用Python处理从一个子文件夹到每个目录中另一个子文件夹的文件?

来自分类Dev

另一个子查询问题

来自分类Dev

如何从Sitecore中的另一个子布局访问子布局控件?

来自分类Dev

如何在mongodb中动态$ set一个子文档字段?

来自分类Dev

如何在一个数组猫鼬中存储不同的子文档?

来自分类Dev

在MATLAB中的另一个子图中绘制一个子图

来自分类Dev

如何从访问中另一个子窗体中打勾的组合框中过滤一个子窗体?

来自分类Dev

猫鼬填充如何将填充子文档连接到另一个集合

来自分类Dev

如何在DB2中将日期列表与另一个子查询联接

来自分类Dev

如何从另一个子 JPanel (Java Swing) 中的输入触发一个子 JPanel 中的操作?

来自分类Dev

如何访问另一个子组件中插槽的内容

来自分类Dev

如何从子组件访问 Angular 4 中的另一个子组件

来自分类Dev

如何在.htaccess中从一个子域重定向到另一个子域?

来自分类Dev

在XSLT中,如何根据另一个子节点的值显示一个子节点的值

来自分类Dev

如何保存一个子数组中的数组以将其传递给另一个子数组?

来自分类Dev

从另一个子执行子

Related 相关文章

  1. 1

    如何使用原子查询更新猫鼬中另一个子文档中的一个子文档?

  2. 2

    在另一个子文档数组中的猫鼬增量子文档数组值

  3. 3

    从另一个子文档填充猫鼬的子文档,其中两个子文档都是主文档的一部分

  4. 4

    如何在猫鼬中仅获得一个子文档中的一项?

  5. 5

    猫鼬子文档中另一个无效模式错误

  6. 6

    Mongo:如何将另一个子文档插入现有文档

  7. 7

    如何用猫鼬中另一个集合的文档填充文档的字段时查询文档?

  8. 8

    VBA EXCEL:如何在另一个子例程中调用一个子例程?

  9. 9

    如何检查一个子查询是否是Oracle SQL中另一个子查询的子集?

  10. 10

    使用useReducer调度一个子组件中的操作并更新另一个子组件中的状态

  11. 11

    猫鼬子文档插入到另一个集合中,同时在父架构中保持关系

  12. 12

    猫鼬在子对象中创建一个子对象

  13. 13

    匹配,更新并返回数组中的最后一个子文档

  14. 14

    如何使用Python处理从一个子文件夹到每个目录中另一个子文件夹的文件?

  15. 15

    另一个子查询问题

  16. 16

    如何从Sitecore中的另一个子布局访问子布局控件?

  17. 17

    如何在mongodb中动态$ set一个子文档字段?

  18. 18

    如何在一个数组猫鼬中存储不同的子文档?

  19. 19

    在MATLAB中的另一个子图中绘制一个子图

  20. 20

    如何从访问中另一个子窗体中打勾的组合框中过滤一个子窗体?

  21. 21

    猫鼬填充如何将填充子文档连接到另一个集合

  22. 22

    如何在DB2中将日期列表与另一个子查询联接

  23. 23

    如何从另一个子 JPanel (Java Swing) 中的输入触发一个子 JPanel 中的操作?

  24. 24

    如何访问另一个子组件中插槽的内容

  25. 25

    如何从子组件访问 Angular 4 中的另一个子组件

  26. 26

    如何在.htaccess中从一个子域重定向到另一个子域?

  27. 27

    在XSLT中,如何根据另一个子节点的值显示一个子节点的值

  28. 28

    如何保存一个子数组中的数组以将其传递给另一个子数组?

  29. 29

    从另一个子执行子

热门标签

归档