第六章 使用MongoDB shell 在MongoDB集合中查找文档

题纲:

  • db.collection.find()/findOne()
var cursor = db.collname.find();
cursor.forEach(w =>{
      printjson(w.charsets);
}
)
cursor.map(w =>{
    return w.charsets;
})

问与答

问: 有办法查询字段值为null的文档吗?
答:没有。查询运算符处理null值的方式各不相同。例如,如果您使用字段null(如{name:null})进行查询,这将返回name = null的文档 ,但还将返回没有name字段的文档。应避免根据字段值null进行查询; 在文档中不要将字段的值设置为null,而应不包含这样的字段,这样就可以使用运算符$exists进行查询了。

问:如果一个文档 多次与查询条件匹配,MongoDB会返回这个文档多次吗?
答:是的。您 可以使用方法cursor.snapshot()来遍历根据_id字段创建的索引,从而避免多次返回同一个文档。然而,cursor.snapshot()不能用于分片集合,也不能与sort()可hint()同时使用;
sort(),排序方法;
hint(), 语法:hint(index), 强制MongoDB使用一个或多个特定的索引进行查询。index可以是字符串, 如:hint("myindex_1"); 也可以是文档,其中的属性为索引名,而值为1,如hint({myIndex:1})

你可能感兴趣的:(第六章 使用MongoDB shell 在MongoDB集合中查找文档)