【问题标题】:Mongodb $exist not workingMongodb $exist 不工作
【发布时间】:2014-09-17 12:14:28
【问题描述】:

好吧,我不知道为什么这不起作用我知道该字段在那里,因为它在这个 mydetails 字段中有子数组。

function firsttime($uid){
        $collection = static::db()->members;
        var_dump($collection->findOne(array("_id"=> new MongoId($uid), array("mydetails"=> array('$exists' => true)))));

    }

它返回的都是 NULL 有没有更好的方法来查找是否有字段

在本例中,我想查看字段 mydetails 是否存在?

如果我能得到一个真或假的回报,那就太好了。

示例数据

array (
  '_id' => new MongoId("53b9ea3ae7fda8863c8b4568"),
  'mydetails' => 
  array (
    'name' => 
    array (
      'first' => 'Russell',
      'last' => 'Harrower',
    ),
    'email' => 'hidden@ipet.xyz',
    'birthday' => 
    array (
      'day' => '02',
      'month' => '02',
      'year' => '1988',
    ),
  )
)

【问题讨论】:

  • 能否请您发布一份完整的文档,该文档应通过此查询找到?
  • @Philipp 为您完成

标签: php arrays mongodb exists


【解决方案1】:

你的array( 太多了。试试这个:

$collection->findOne(array("_id"=> new MongoId($uid), "mydetails"=> array('$exists' => true)));

【讨论】:

    猜你喜欢
    • 2016-11-23
    • 1970-01-01
    • 2015-11-18
    • 2015-04-24
    • 2015-05-30
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    相关资源
    最近更新 更多