如何在lowdb Json中实现条件?

时间:2018-08-31 00:16:02

标签: java json npm nosql

下面是我的lowdb json,我需要获取productid 1222的mrp,如何在lowdb中实现此目标?

{
 "product": [
{
  "productid": "1221",
  "productname": "Lemon",
  "mrp": "10",
  "rate": "20"
},
{
  "productid": "1222",
  "productname": "Coconut",
  "mrp": "20",
  "rate": "30"
},
{
  "productid": "1223",
  "productname": "Big Onion",
  "mrp": "30",
  "rate": "40"
}
 ]
}

注意:到目前为止,我正在迭代product数组,并使用if条件来获取product 1222

1 个答案:

答案 0 :(得分:0)

将匹配条件传递到find。 例如:

db.get('product').
find({"productid": "1222"})
.value()

将返回

{ productid: '1222',productname: 'Coconut', mrp: '20',  rate: '30' }

如果需要提取mrp的值,则可以执行db.get('product').find({"productid": "1222"}).value().mrp

出于完整性考虑,这里是一个有效的示例:

const low = require('lowdb')
const FileSync = require('lowdb/adapters/FileSync')

const adapter = new FileSync('./products.json')
const db = low(adapter)

console.log(db.get('product').find({"productid": "1222"}).value())