如何翻译插入到。。。选择MongoDB
我想知道这个MySQL命令在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
INSERT INTO xyz (field1, field2, field3, field4)
SELECT t1.id, t2.id, t3.id, NOW() FROM t1, t2, t3
我使用MongoDB才48小时,恐怕我就是想不出来
感谢您所做的一切:)。MongoDB不进行连接,所以您的前三个步骤是:
t1.id
,并将其放入t1\u id
t2.id
,并将其放入t2\u id
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()
});
}
}
}