【问题标题】:MongoDB: Using 'c-driver' to find a document with $gte of 1MongoDB:使用“c-driver”查找 $gte 为 1 的文档
【发布时间】:2016-09-03 06:36:53
【问题描述】:

我正在尝试做一些应该很简单的事情,但显然我做错了。任何帮助将不胜感激。

我知道文档的_id,我只想验证它是available_uses$gte 1

简单文档示例:

{ 
"_id" : ObjectId("572f4d6f6d210e5c2d60cc41"), 
"invite_data" : "something useful here", 
"available_uses" : NumberInt(25), 
}

我尝试了以下 BCON,但它不起作用。我能够编译而没有任何错误,但是当我运行它时,一旦设置了query 行,应用程序就会死机,因此显然该结构存在问题。没有错误,只是应用退出。

query = bson_new ();
bson_oid_t oid;
bson_oid_init_from_string (&oid, invite_id);

query = BCON_NEW ("_id", BCON_OID(&oid),
    "{",
        "available_uses",
            "{",
                "$gte",  BCON_INT32 (1)
            "}",
    "}");   

// Find the document
cursor = mongoc_collection_find (collection, MONGOC_QUERY_NONE, 0, 0, 0, query, NULL, NULL);

【问题讨论】:

    标签: mongodb gcc bson mongo-c-driver


    【解决方案1】:

    {} 太多。再一次令人遗憾的是,在线文档将您指向了错误的方向。

    无论哪种方式,正确的代码是:

    query = BCON_NEW ("_id", BCON_OID(&oid),
        "available_uses", 
            "{",
                "$gt", BCON_INT32 (1),
              "}");
    

    【讨论】:

      猜你喜欢
      • 2021-05-23
      • 1970-01-01
      • 2019-03-12
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 2016-12-23
      • 2020-03-15
      • 2015-02-10
      相关资源
      最近更新 更多