如何翻译插入到。。。选择MongoDB

如何翻译插入到。。。选择MongoDB,mongodb,Mongodb,我想知道这个MySQL命令在MongoDB中的等价物是什么 INSERT INTO xyz (field1, field2, field3, field4) SELECT t1.id, t2.id, t3.id, NOW() FROM t1, t2, t3 我使用MongoDB才48小时,恐怕我就是想不出来 感谢您所做的一切:)。MongoDB不进行连接,所以您的前三个步骤是: 从MongoDB中抓取t1.id,并将其放入t1\u id 从MongoDB中抓取t2.id,并将其放入t2\u i

我想知道这个MySQL命令在MongoDB中的等价物是什么

INSERT INTO xyz (field1, field2, field3, field4)
SELECT t1.id, t2.id, t3.id, NOW() FROM t1, t2, t3
我使用MongoDB才48小时,恐怕我就是想不出来


感谢您所做的一切:)。

MongoDB不进行连接,所以您的前三个步骤是:

  • 从MongoDB中抓取
    t1.id
    ,并将其放入
    t1\u id
  • 从MongoDB中抓取
    t2.id
    ,并将其放入
    t2\u id
  • 从MongoDB中抓取
    t3.id
    ,并将其放入
    t3\u id
  • 然后,您可以使用代替
    NOW()

    如果你真的在做一个三向交叉积,那么你必须将上面的内容封装在一个三重嵌套的循环中,就像这样:

    for(var i = 0; i < all_t1_ids.length; ++i) {
        for(var j = 0; j < all_t2_ids.length; ++j) {
            for(var k = 0; k < all_t3_ids.length; ++k) {
                db.xyz.insert({
                    field1: all_t1_ids[i],
                    field2: all_t2_ids[j],
                    field3: all_t3_ids[k],
                    field4: new Timestamp()
                });
             }
         }
    }
    
    for(变量i=0;i

    您必须使用MongoDB手工完成许多传统的RDBMS工作。

    但是如果我最初的MySQL查询插入了大约40万条记录,您建议的那条查询也会这样做吗?从外观上看,它似乎只会插入一个。@Pierre:您必须将它包装成一个循环,我将对此进行一些更新。
    for(var i = 0; i < all_t1_ids.length; ++i) {
        for(var j = 0; j < all_t2_ids.length; ++j) {
            for(var k = 0; k < all_t3_ids.length; ++k) {
                db.xyz.insert({
                    field1: all_t1_ids[i],
                    field2: all_t2_ids[j],
                    field3: all_t3_ids[k],
                    field4: new Timestamp()
                });
             }
         }
    }