E QUERY[thread1]SyntaxError:identifier在';mongodb';?
我的第一个mongodb查询执行得很好,而第二个mongodb查询在_id字段中产生了一些bugE QUERY[thread1]SyntaxError:identifier在';mongodb';?,mongodb,Mongodb,我的第一个mongodb查询执行得很好,而第二个mongodb查询在_id字段中产生了一些bug for (var i = 1; i <= 25; i++){db.mediafiles.insert({x : i,from_email: '123@gmail.com'})} WriteResult({ "nInserted" : 1 }) for (var i = 1; i <= 25; i++){db.mediafiles.insert({x : i,from_email: '1
for (var i = 1; i <= 25; i++){db.mediafiles.insert({x : i,from_email: '123@gmail.com'})}
WriteResult({ "nInserted" : 1 })
for (var i = 1; i <= 25; i++){db.mediafiles.insert({x : i,from_email: '123@gmail.com',_id:59193333aed3eb391e396a5d})}
E QUERY [thread1] SyntaxError: identifier starts immediately after numeric literal @(shell):1:90
for(var i=1;i我只解释第一个查询和第二个查询之间的区别
ObjectId-是集合的唯一键。如果插入中没有提到它,mongodb会自动填充数据。因此,第一次查询在25次迭代中成功
然而,在第二个INSERT查询中,您试图填充该值。因此,您需要为ObjectId
提供唯一键。否则,您将得到E11000重复键错误集合
错误
下面的代码应该可以解决这个问题。下面的代码创建了ObjectId并在insert中设置了值
for (var i = 1; i <= 25; i++) {
id = ObjectId();
db.AbcSchema.insert({x : i, from_email: '123@gmail.com',_id: id})
};
for(var i=1;我有没有试过为_idvalue(即59193333aed3eb391e396a5d)添加单引号?结果还是一样的…很好。是否接受答案?只需单击右键即可。谢谢。