【发布时间】:2022-02-08 23:03:07
【问题描述】:
这就是我在 Node 中编写 Mongo 查询的方式。
query["serviceProvider.type"] = "prepaid";
但我需要在我的 Node 代码中编写这个查询,该代码仅适用于 MongoDB CLI。我怎样才能做到这一点,即我需要用两个不同的值查询相同的键。
db = db.getSiblingDB("test");
db.getCollection("transactions").find(
{
$or : [
{
"serviceProvider.type" : "prepaid"
},
{
"serviceProvider.type" : "dth"
}
]
}
);
{
"_id" : ObjectId("5d8b057e3a22472facdb89a4"),
"customer" : {
"isCustomerPaid" : true,
"customerID" : "",
"customer" : ""
},
"transaction" : {
"transStatus" : false,
"transID" : "15693919985540280",
"number" : "8332900803",
"amount" : NumberInt(5),
"error" : "Something went wrong. Please try again after sometime."
},
"couponSurvey" : {
"status" : false,
"isEligible" : false
},
"status" : true,
"advisor" : {
"advisorID" : "BAA0280",
"name" : "John BA",
"phoneNumber" : 8005301205.0
},
"serviceProvider" : {
"type" : "dth",
"providerID" : "5bbb42e7a28b1daee826d7ec",
"providerName" : "Sun Direct"
},
"provider" : {
"refId" : "00",
"status" : "fail",
"startTime" : ISODate("2019-09-25T06:13:18.554+0000"),
"endTime" : ISODate("2019-09-25T06:13:18.554+0000"),
"message" : "Invalid Denomination"
},
"extras" : {
"imei" : "865300302225654",
"latitude" : "99.9385189",
"longitude" : "11.5827393"
},
"createdAt" : ISODate("2019-09-25T06:13:18.790+0000"),
"updatedAt" : ISODate("2019-09-25T06:13:18.790+0000"),
"__v" : NumberInt(0)
}
这是数据库中的示例数据。请告诉我如何查询我需要的参数。
【问题讨论】:
标签: node.js mongodb mongoose mongodb-query