云开发里数据库,想自己学习做一个输入条码查询商品的
片段截取,请教下大神。
/*.wxml
<input type='number' maxlength='13' placeholder="请输入条码" bindinput="bindbarcodeInput" />
<button bindtap='queryData'>查询数据</button>
<text>{{datainputinfo}}</text>
<text>{{dataResult}}</text>
/*js
Page({
data: {
dataResult:[],
datainputinfo:666666,
},
bindbarcodeInput:function(e){
this.setData({
datainputinfo: e.detail.value
})
},
queryData: function () {
// 数据库就叫做d,
var that = this;
db.collection('d').where({
_id: that.data.datainputinfo
}).get({
// 找到记录集调用
success: function (res) {
// 将查询结果显示在页面上
that.setData({
dataResult: JSON.stringify(res.data, null, 2)
})
------------------------------
当把datainputinfo:666666时直接点 button查询数据 就出现我想要的设置好的_id:666666的数据。
但是input输入其他,哪怕再输入一次 666666 也不行,非要给datainputinfo设定一个定值如666666/888888,就可以查到_id为这个值的数据。
;
数据里商品名为productname,如果把改成
db.collection('d').where({
productname: that.data.datainputinfo
这时input里输入 【商品的全名】,那点查询,productname值对应的数据又可以查询出来。
-----
也就是说input输入的是 数字,就是不行,<text>{{datainputinfo}}</text>显示出赋值的数字也不行。
把查询的改成商品名,输入的是字符串,又可以。
我实在是不明白了,请大神指导!谢谢
虽然我没有遇到过类似的问题,但我觉得,问题可能出现在“_id”上,我以前在写数据库查询语句的时候,我记得下划线是一个特殊的符合。你看看不使用这种带下划线的名字,会不会好了。