在MongoDB PHP中将数据类型从字符串更改为整数
我有一组文档,其中一些在MongoDB PHP中将数据类型从字符串更改为整数,php,mongodb,Php,Mongodb,我有一组文档,其中一些product\u id存储在字符串中 [ { "_id": ObjectId("foobar1"), "product_id": "1" }, { "_id": ObjectId("foobar2"), "product_id": 2 } ] 是否有任何方法可以将使用MongoDB PHP的所有文档的产品id转换为整数?这可能会帮助您 db.collection.find().forEach(function(produc
product\u id
存储在字符串中
[
{
"_id": ObjectId("foobar1"),
"product_id": "1"
},
{
"_id": ObjectId("foobar2"),
"product_id": 2
}
]
是否有任何方法可以将使用MongoDB PHP的所有文档的产品id
转换为整数?这可能会帮助您
db.collection.find().forEach(function(product) {
product.product_id= new NumberInt(product.product_id);
db.collection.save(product);
});
或者使用更新
db.collection.find().forEach(function(data) {
db.collection.update({_id:data._id},{$set:{product_id:parseInt(data.product_id)}});
})
这可能会帮助你
db.collection.find().forEach(function(product) {
product.product_id= new NumberInt(product.product_id);
db.collection.save(product);
});
或者使用更新
db.collection.find().forEach(function(data) {
db.collection.update({_id:data._id},{$set:{product_id:parseInt(data.product_id)}});
})
更好、更简单的方法是在MongoShell中实现,下面的javascript函数将完成将所有
product\u id
从字符串转换为整数的工作
如果所有product_id字符串都可以转换为整数,那么这将起作用,比如product_id的可能值可以是“1”、“34343”、“23”
更好、更简单的方法是在MongoShell中实现,下面的javascript函数将完成将所有
product\u id
从字符串转换为整数的工作
如果所有product_id字符串都可以转换为整数,那么这将起作用,比如product_id的可能值可以是“1”、“34343”、“23”
您还可以搜索特定类型。查看的文档。字符串是
$type:2
db.collection.find({
product_id: {
$type: 2
}
}).forEach(function(doc) {
doc.product_id = new NumberInt(doc.product_id);
db.product.save(doc);
});
您还可以搜索特定类型。查看的文档。字符串是
$type:2
db.collection.find({
product_id: {
$type: 2
}
}).forEach(function(doc) {
doc.product_id = new NumberInt(doc.product_id);
db.product.save(doc);
});
但是你不是这样看所有的文件吗<代码>“产品id”:“1”的存在与
“产品id”:2
的存在一样多。是的,它贯穿所有文档,第一个条件是确保产品id
存在于文档中。但您不是以这种方式浏览所有文档吗<代码>“产品id”:“1”与“产品id”:2
一样存在。是的,它贯穿所有文档,第一个条件是确保文档中存在产品id
。感谢您的回答。我已经意识到通过Mongo Shell这样做。我正在寻找MongoDB PHP中的一些东西,正如问题中明确提到的。谢谢你的回答。我已经意识到通过Mongo Shell这样做。我正在MongoDB PHP中寻找一些东西,正如问题中明确提到的那样。