以下操作将返回集合products
中qty
大于25
的所有文档:
db.products.find( { qty: { $gt: 25 } } )
而不是qty
我有一个字符串info
(xml格式)。
如何从products
包含某些标记的集合info
返回所有文档?
答案 0 :(得分:1)
使用正则表达式搜索info
字符串
db.products.find({info:{$regex: /<password>/}})
答案 1 :(得分:1)
您可以使用简单的forEach
loop in Mongo shell,并单独更新每条记录。
对于<password>asdfghj</password>
字段中包含info
条目的每条记录,这会将<password></password>
XML中的<password>
替换为info
(假设密码值其中没有<
)
db.getCollection('products').find({info:{$regex: /<.*?password>/i}}).forEach(
function(document) {
var info = document.info;
document.info = info.replace(/<(.*?password)>([^<]+)<\/(.*?password)>/gmi, "<$1></$3>");
db.products.save(document);
}
);