问题描述
我刚刚按照 doc 在 Ubuntu 20.10 上安装了 MongoDB。 我创建了一个数据库,我们称之为 DB。 我创建了一个集合,我们称之为 COLLECTION。 我将一些数据导入到数据库的集合中
mongoimport --db DB --collection COLLECTION --file "file.json"
当我想拿到COLLECTION的所有文件时,没有问题,我什么都拿到了。
> db.COLLECTION.find({}).count()
349
当我尝试过滤结果时,我一无所获。
> db.COLLECTION.find({"status": "OPEN"}).count()
0
{ "type": "Feature","properties": { "number": 9013,"name": "Sédaillan \/ Naviguation","address": "Quai Paul Sédallon","address2": "","commune": "Lyon 9 ème","nmarrond": 13,"bonus": "Non","pole": "pôle d'activité (Cegid,Infogrammes)","lat": 45.787384084955796,"lng": 4.81437377940006,"bike_stands": 20,"status": "OPEN","available_bike_stands": 7,"available_bikes": 13,"availabilitycode": 1,"availability": "Vert","banking": 0,"gid": 1065,"last_update": "2017\/02\/02 14:49:23","last_update_fme": "2017\/02\/02 14:54:00" },"geometry": { "type": "Point","coordinates": [ 4.814373779400059,45.787384084955846 ] } }
这里是mongod.service的状态,
● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor prese>
Active: active (running) since Sat 2021-02-13 10:03:26 CET; 1h 22min ago
Docs: https://docs.mongodb.org/manual
Main PID: 100795 (mongod)
Memory: 161.6M
CGroup: /system.slice/mongod.service
└─100795 /usr/bin/mongod --config /etc/mongod.conf
Feb 13 10:03:26 dell systemd[1]: Started MongoDB Database Server.
我已经检查了键 - 我过滤的值在集合中,并且名称中没有错误。 知道为什么我在尝试过滤我的收藏时没有得到任何结果吗?
解决方法
您需要更新过滤器:
db.COLLECTION.find({"properties.status": "OPEN"}).count()
根据您提供的文档示例,status
嵌套在 properties
中