pouchdb找到$或运算符未知

时间:2017-09-09 13:24:52

标签: pouchdb

我正在尝试使用pouchdb.find,但继续收到未知的操作错误。

{"message":"unknown operator \"$or\" - should be one of $eq, $lte, $lt, $gt, $gte, $exists, $ne, $in, $nin, $size, $mod, $regex, $elemMatch, $type or $all"}

我有点失落,因为我读过的所有文件都说是$或者可用。

的package.json:

"pouchdb": "^6.3.4",
"pouchdb-find": "^6.3.4",

JavaScript的:

db.find({
     selector: { 
         type: 'question',
         tags: { $or: [ '202', '206' ] } 
     },
     use_index: 'tagSearch',
     include_docs: true
 }).then()...

我有一种感觉,我错过了一些基本的东西。我正在寻找检索选择器中列出的一个或另一个标签的所有文档。任何帮助/方向将不胜感激。

1 个答案:

答案 0 :(得分:0)

我认为您可能需要对其进行重组。

我正在查找AND,并按以下步骤进行设置-

private async void _fileList_ItemClick(object sender, ItemClickEventArgs e)
{   
    var storageitem = e.ClickedItem as StorageFile;
    IRandomAccessStream stream = await 
    storageitem.OpenAsync(FileAccessMode.Read);
    mediaElement.SetSource(stream, storageitem.ContentType);
    this.txt_song.Text = "Now playing: " + storageitem.Name;
}

您中的许多人都需要类似的东西(未经测试,不确定语法是否正确。

      db.find({
        selector: {
          $and: [
            { type: { $exists: true } },
            { type: { $eq: "sessions" } },
            { start_date: { $gt: true } },
            { start_date: { $eq: "2018-10-21" } }
          ]
        }

或者,您可以尝试使用IN

        db.find({
          selector: {
            type: 'question',
            $or: [                 
                {tags: '202'},                                      
                {tags: '206'},                                      
            ]
          }
        }) 

将其中一些内容帮上忙。